Link to home
Start Free TrialLog in
Avatar of jimcpl
jimcpl

asked on

Problem deploying EAR + some general WebLogic questions

Hi,

I built a relatively simple portal project in Workshop, with basically just a UserLogin portlet and a 2nd portlet with a form in it. I got it working in Workshop, then used Build->EAR in Workshop to build an EAR (myjlportal.ear).

I wanted to try to deploy this EAR into WebLogic running on a different server, on a Solaris machine using the WebLogic console. The WebLogic server name (target) was "AdminLMIServer", and the WebLogic domain name is the "LMIDomain" domain.

Before I tried to do the deployment in WebLogic, I was looking at the directory structure on the Solaris machine, and I noticed that there was an "/apps/bea/user_projects/domains/LMIDomain" directory, but there was not an an "applications" directory at all under the "user_projects" directory, and I was guessing (hoping) that WebLogic would create and populate a "/apps/bea/user_projects/applications/myjlportal" these directories when it was deploying the EAR.

When I did the deply in WebLogic console, I clicked "Upload" and pointed the browser to my EAR file.  I selected the "AdminLMIServer" Server as the target, then tried to do the deploy, but I got the following errors:

####<Apr 14, 2005 7:09:23 PM GMT> <Error> <Deployer> <solaris2> <AdminLMIServer> <main> <<WLS Kernel>> <> <BEA-149027> <Unable to activate application, _appsdir_META-INF_dir, from source, /apps/bea/user_projects/domains/LMIDomain/applications/META-INF. Reason: [J2EE:160028]No J2EE deployment descriptor found at "/apps/bea/user_projects/domains/LMIDomain/applications/META-INF".>
####<Apr 14, 2005 7:09:23 PM GMT> <Error> <Application Poller> <solaris2> <AdminLMIServer> <main> <<WLS Kernel>> <> <BEA-149410> <Runtime deployment error while deploying - weblogic.management.ManagementRuntimeException: weblogic.management.ApplicationException: [J2EE:160028]No J2EE deployment descriptor found at "/apps/bea/user_projects/domains/LMIDomain/applications/META-INF"..
weblogic.management.ManagementRuntimeException: weblogic.management.ApplicationException: [J2EE:160028]No J2EE deployment descriptor found at "/apps/bea/user_projects/domains/LMIDomain/applications/META-INF".
at weblogic.management.runtime.DeployerRuntimeMBean_Stub.activate(DeployerRuntimeMBean_Stub.java:1073)
at weblogic.management.deploy.ApplicationsDirPoller.doActivate(ApplicationsDirPoller.java:216)
at weblogic.management.deploy.GenericAppPoller.doit(GenericAppPoller.java:290)
at weblogic.management.deploy.ApplicationsDirPoller.><init>(ApplicationsDirPoller.java:88)
at weblogic.management.mbeans.custom.ApplicationManager.startAdminManager(ApplicationManager.java:630)
at weblogic.management.mbeans.custom.ApplicationManager.start(ApplicationManager.java:494)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:731)
at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:710)
at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:484)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
at weblogic.management.internal.RemoteMBeanServerImpl.private_invoke(RemoteMBeanServerImpl.java:985)
at weblogic.management.internal.RemoteMBeanServerImpl.invoke(RemoteMBeanServerImpl.java:943)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:946)
at weblogic.management.internal.MBeanProxy.invokeForCachingStub(MBeanProxy.java:481)
at weblogic.management.configuration.ApplicationManagerMBean_Stub.start(ApplicationManagerMBean_Stub.java:677)
at weblogic.management.AdminServerAdmin.startApplicationManager(AdminServerAdmin.java:629)
at weblogic.management.Admin.finish(Admin.java:2217)
at weblogic.management.AdminServerAdmin.finish(AdminServerAdmin.java:458)
at weblogic.t3.srvr.T3Srvr.resume(T3Srvr.java:971)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:361)
at weblogic.Server.main(Server.java:32)
Caused by: weblogic.management.ApplicationException: [J2EE:160028]No J2EE deployment descriptor found at "/apps/bea/user_projects/domains/LMIDomain/applications/META-INF".
at weblogic.j2ee.J2EEApplicationContainerFactory.handleError(J2EEApplicationContainerFactory.java:739)
at weblogic.j2ee.J2EEApplicationContainerFactory.initializeDeployment(J2EEApplicationContainerFactory.java:475)
at weblogic.management.deploy.DeployerRuntime.unprotectedActivate(DeployerRuntime.java:848)
at weblogic.management.deploy.DeployerRuntime.access$000(DeployerRuntime.java:63)
at weblogic.management.deploy.DeployerRuntime$1.run(DeployerRuntime.java:1520)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
at weblogic.management.deploy.DeployerRuntime.checkAndPerformDeployerActions(DeployerRuntime.java:1511)
at weblogic.management.deploy.DeployerRuntime.activate(DeployerRuntime.java:186)
at weblogic.management.deploy.DeployerRuntime.activate(DeployerRuntime.java:176)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:731)
at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:710)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
at weblogic.management.internal.RemoteMBeanServerImpl.private_invoke(RemoteMBeanServerImpl.java:985)
at weblogic.management.internal.RemoteMBeanServerImpl.invoke(RemoteMBeanServerImpl.java:943)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:946)
at weblogic.management.internal.MBeanProxy.invokeForCachingStub(MBeanProxy.java:481)
at weblogic.management.runtime.DeployerRuntimeMBean_Stub.activate(DeployerRuntimeMBean_Stub.java:1064)


I guess that I'm a bit perplexed by these error messages.  

What, exactly, is WebLogic trying to tell me?

And, how do I fix this problem?

As for my general WebLogic question:  Basically, I'm kind of puzzled about "deployment" with the WebLogic console.  As mentioned above, I did the upload of my EAR file in the WebLogic console, and I selected the AdminLMIServer as the target.  But, the thing that I don't understand is HOW does WebLogic determine where (in which directory) to put the EAR?  During the deploy process with WebLogic console, I don't get a chance to specify the destination directory, so WebLogic must be figuring that out somehow...

Thanks in advance,
Jim
Avatar of sompol_kiatkamolchai
sompol_kiatkamolchai
Flag of Thailand image

Hello Jim,

I think you may have a problem with deployed directory. As I see in the error message that WebLogic print out, it told us that it's trying to find deployment descriptor in the location "user_projects/domains/LMIDomain/application/META-INF"
But I think you deployed files would be in "user_projects/applications/META-INF", So that is not the same directory and I'm not surprised why the container tell the exception like that.

The thing we need to find out is how to specify or tell the server where our deployed files are located.

This problem will not occur if you setup WorkShop to have the same directory structure as the server have. But I think we can specify the location when we are deploying too. I will try to find how to configure for you and I will be back again.

SoMPOL
ASKER CERTIFIED SOLUTION
Avatar of sompol_kiatkamolchai
sompol_kiatkamolchai
Flag of Thailand image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of jimcpl
jimcpl

ASKER

sompol,

Thanks for the responses.  

I know that I can manually deploy the exploded EAR into WebLogic, but I think that I need to find out how to specify where to deploy the EAR during the WebLogic console deployment, so I look forward to your information (or others).

Thanks,
Jim
Avatar of jimcpl

ASKER

sompol,

With the info at the link, and some testing, I was able to get this working, two different ways:

1) Manually placing the exploded EAR:

  - Copy the EAR to a directory (../applications/myapp) under the  "applications" directory
  - Unzip the EAR file in-place
  - Start the WebLogic console, then do a "Deploy a new..."
  - Click to the "applications" directory.  Console then showed the "myapp" directory
  - Click on "myapp".  Console then showed the application with a radio button.
  - Select "myapp", then click the Deploy button

2) Manually placing the EAR:

  - Copy the EAR to a directory (../applications/myapp) under the  "applications" directory
  - Start the WebLogic console, then do a "Deploy a new..."
  - Click to the "applications" directory.  Console then showed the "myapp" directory
  - Click on "myapp".  Console then showed the EAR with a radio button.
  - Select "myapp.ear", then click the Deploy button

Thanks,
Jim