Link to home
Start Free TrialLog in
Avatar of Jackass03
Jackass03

asked on

Manually Deploying an EAR File

Hi

I'm having a few probs deploying my ear file.

I log onto my 10gAS and the ftp my ear file across doing the following:

dcmctl deployApplication -f web.ear -a Web -co Web

Where 'Web' is my oc4J instance name and 'web.ear' is my EAR file.

The result from trying to deploy is:

----
ADMN-300009
Cannot get xml document by parsing META-INF/application.xml: Jar file: /data/oracle/product/10gAS/j2ee/Web/applications/web.ear is missing its standard xml descriptor located at META-INF/application.xml
Resolution:

oracle.ias.sysmgmt.deployment.j2ee.exception.J2eeDeploymentException: Cannot get xml document by parsing META-INF/application.xml: Jar file: /data/oracle/product/10gAS/j2ee/Web/applications/web.ear is missing its standard xml descriptor located at META-INF/application.xml
Resolution:
Resolution:
        at oracle.ias.sysmgmt.deployment.j2ee.file.EarFile.init(Unknown Source)
        at oracle.ias.sysmgmt.deployment.j2ee.file.EarFile.<init>(Unknown Source)
        at oracle.ias.sysmgmt.deployment.j2ee.file.EarFile.<init>(Unknown Source)
        at oracle.ias.sysmgmt.deployment.j2ee.console.EarDeployerImpl.<init>(Unknown Source)
        at oracle.ias.sysmgmt.deployment.j2ee.console.J2eeDeploymentImpl.getEarDeployer(Unknown Source)
        at oracle.ias.sysmgmt.deployment.j2ee.console.J2eeDeploymentImpl.getEarDeployer(Unknown Source)
        at oracle.ias.sysmgmt.cmdline.DcmCmdLine.deployApp(Unknown Source)
        at oracle.ias.sysmgmt.cmdline.DcmCmdLine.execute(Unknown Source)
        at oracle.ias.sysmgmt.cmdline.DcmCmdLine.main(Unknown Source)

----

My EAR (web.ear) is like the following:

web.ear
----META-INF
--------application.xml
----web.war

My application.xml is the following:

----
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN"
"http://java.sun.com/dtd/application_1_3.dtd">
      <application id="Application_ID">
            <display-name>Web</display-name>
            <description>Web</description>
            <module id="WebModule_1">
                  <web>
                        <web-uri>web.war</web-uri>
                        <context-root>/Web</context-root>
                  </web>
            </module>
      </application>
---

Any ideas what i'm doing wrong?

Ta
Avatar of petmagdy
petmagdy
Flag of Canada image

please specify the ear full path in ur dcmctl command
Avatar of Jackass03
Jackass03

ASKER

Hi - Thx for the reply.

I ftp the .ear file to:

/data/oracle/product/10gAS/j2ee/Web/applications/

My OC4J instance is named 'Web'.

Any ideas?
yes try this:

dcmctl deployApplication -f data/oracle/product/10gAS/j2ee/Web/applications/
web.ear -a Web -co Web
Hi

Just tried that and got a different error (is this to do with the .ear being 260mb?)

----

$ dcmctl deployApplication -f data/oracle/product/10gAS/j2ee/Web/applications/web.ear -a Web -co Web


ADMN-300074
Specified file /data/oracle/product/10gAS/j2ee/Web/applications/data/oracle/product/10gAS/j2ee/Web/applications/web.ear is not accessible

oracle.ias.sysmgmt.deployment.j2ee.exception.J2eeDeploymentException: Specified file /data/oracle/product/10gAS/j2ee/Web/applications/data/oracle/product/10gAS/j2ee/Web/applications/web.ear is not accessible
Resolution:
        at oracle.ias.sysmgmt.deployment.j2ee.file.J2eeFile.<init>(Unknown Source)
        at oracle.ias.sysmgmt.deployment.j2ee.file.J2eeFile.<init>(Unknown Source)
        at oracle.ias.sysmgmt.deployment.j2ee.file.EarFile.<init>(Unknown Source)
        at oracle.ias.sysmgmt.deployment.j2ee.file.EarFile.<init>(Unknown Source)
        at oracle.ias.sysmgmt.deployment.j2ee.console.EarDeployerImpl.<init>(Unknown Source)
        at oracle.ias.sysmgmt.deployment.j2ee.console.J2eeDeploymentImpl.getEarDeployer(Unknown Source)
        at oracle.ias.sysmgmt.deployment.j2ee.console.J2eeDeploymentImpl.getEarDeployer(Unknown Source)
        at oracle.ias.sysmgmt.cmdline.DcmCmdLine.deployApp(Unknown Source)
        at oracle.ias.sysmgmt.cmdline.DcmCmdLine.execute(Unknown Source)
        at oracle.ias.sysmgmt.cmdline.DcmCmdLine.main(Unknown Source)
$

----

It looks like its trying to find the ear in -

" /data/oracle/product/10gAS/j2ee/Web/applications/data/oracle/product/10gAS/j2ee/Web/applications/web.ear"

But when i do:

dcmctl deployApplication -f web.ear -a Web -co Web

I get the error as stated earlier........  is there something up with my application.xml? do i need a manifest.mf?
ur application.xml web module war uri is mismatching with the WAR file name and location inside the EAR, i need ur application.xml contents and the directory structure of ur EAR
Here is the contents of my application.xml:
----
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN"
"http://java.sun.com/dtd/application_1_3.dtd">
     <application id="Application_ID">
          <display-name>Web</display-name>
          <description>Web</description>
          <module id="WebModule_1">
               <web>
                    <web-uri>web.war</web-uri>
                    <context-root>/Web</context-root>
               </web>
          </module>
     </application>
---

My EAR file structure is as follows:

META-INF (dir)
----application.xml
web.war

ASKER CERTIFIED SOLUTION
Avatar of petmagdy
petmagdy
Flag of Canada 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
also make sure u r doing this deployment with the proper user that have full access to this directory:
/data/oracle/product/10gAS/j2ee/Web/applications

and ur command should be:

dcmctl deployApplication -f /data/oracle/product/10gAS/j2ee/Web/applications/web.ear -a Web -co Web

u forgot the / before data
Still getting the error as before:

----

bash-2.05$ dcmctl deployApplication -f /data/oracle/product/10gAS/j2ee/Web/a
pplications/web.ear -a Web -co Web


ADMN-300009
Cannot get xml document by parsing META-INF/application.xml: Jar file: /data/ora
cle/product/10gAS/j2ee/Web/applications/web.ear is missing its standard
xml descriptor located at META-INF/application.xml
Resolution:

oracle.ias.sysmgmt.deployment.j2ee.exception.J2eeDeploymentException: Cannot get
 xml document by parsing META-INF/application.xml: Jar file: /data/oracle/produc
t/10gAS/j2ee/Website/applications/website.ear is missing its standard xml descri
ptor located at META-INF/application.xml
Resolution:
Resolution:
        at oracle.ias.sysmgmt.deployment.j2ee.file.EarFile.init(Unknown Source)
        at oracle.ias.sysmgmt.deployment.j2ee.file.EarFile.<init>(Unknown Source
)
        at oracle.ias.sysmgmt.deployment.j2ee.file.EarFile.<init>(Unknown Source
)
        at oracle.ias.sysmgmt.deployment.j2ee.console.EarDeployerImpl.<init>(Unk
nown Source)
        at oracle.ias.sysmgmt.deployment.j2ee.console.J2eeDeploymentImpl.getEarD
eployer(Unknown Source)
        at oracle.ias.sysmgmt.deployment.j2ee.console.J2eeDeploymentImpl.getEarD
eployer(Unknown Source)
        at oracle.ias.sysmgmt.cmdline.DcmCmdLine.deployApp(Unknown Source)
        at oracle.ias.sysmgmt.cmdline.DcmCmdLine.execute(Unknown Source)
        at oracle.ias.sysmgmt.cmdline.DcmCmdLine.main(Unknown Source)
bash-2.05$

----

just checked that 'application.xml' was spelt correctly and it was....
do u modifed application.xml as I told u in my before last comment?
oooops - didn't see that - will repackage and ftp over again (may be a little while)

Thanks for the help :)
ok - just tried to deploy and get this msg!

bash-2.05$ dcmctl deployApplication -f /data/oracle/product/10gAS/j2ee/Web/applications/web.ear -a Web -co Web


ADMN-705003
The evaluate phase failed. The Adapter used in the evaluate may have thrown an exception.
Base Exception:
java.lang.OutOfMemoryError:null
Check the related Adapter evaluate logic and base exception in the log file.
java.lang.OutOfMemoryError
        at com.evermind.server.rmi.RMIConnection.EXCEPTION_ORIGINATES_FROM_THE_REMOTE_SERVER(RMIConnection.java:1520)
        at com.evermind.server.rmi.RMIConnection.invokeMethod(RMIConnection.java:1473)
        at com.evermind.server.rmi.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:55)
        at com.evermind.server.rmi.RecoverableRemoteInvocationHandler.invoke(RecoverableRemoteInvocationHandler.java:22)
        at __Proxy0.deploy(Unknown Source)
        at oracle.ias.sysmgmt.deployment.j2ee.runtime.LocalDeploy.deployOnSingleInstance(Unknown Source)
        at oracle.ias.sysmgmt.deployment.j2ee.runtime.LocalDeploy.doExecute(Unknown Source)
        at oracle.ias.sysmgmt.deployment.j2ee.runtime.RuntimeIf.execute(Unknown Source)
        at oracle.ias.sysmgmt.deployment.j2ee.adapter.DeploymentAdapter.doEvaluateDeploy(Unknown Source)
        at oracle.ias.sysmgmt.deployment.j2ee.adapter.DeploymentAdapter.evaluate(Unknown Source)
        at oracle.ias.sysmgmt.task.TaskMaster.sync_evaluate(Unknown Source)
        at oracle.ias.sysmgmt.task.TaskMaster.internal_evaluate(Unknown Source)
        at oracle.ias.sysmgmt.task.RemoteEvaluate.execCommand(Unknown Source)
        at oracle.ias.sysmgmt.task.DaemonWorker.run(Unknown Source)
bash-2.05$

Out of memory! - any ideas on this one?
restart :-(
Sorted :)

The heap size of the JVM needed increasing :)

Cheers petmagdy!