Hi George,

This sounds like the problem reported in Bug# 282228, which Konrad
mentioned that could be the same as bug# 278291, probably caused by the
changes in bug# 241466. I will take a look at this tonight. I think the
patch in Bug# 283184 Comment  #4, will fix the problem.

Best Regards,
-- --
Mr. Angel Vera
   Server Tools Developer for WTP and Rational
   Lotus Notes: Angel Vera/Toronto/i...@ibmca
   Tel: 905-413-5919 - E-Mail: [email protected]
-----
Those who think that something is impossible,
should not interfere with those who are willing to do it. - Angel Vera


                                                                       
  From:       george badu <[email protected]>                         
                                                                       
  To:         "General discussion of project-wide or architectural issues." 
<[email protected]>
                                                                       
  Date:       07/28/2009 04:31 AM                                      
                                                                       
  Subject:    [wtp-dev] EAR Redeployment To OC4J                       
                                                                       
  Sent by:    [email protected]                              
                                                                       





Hi

I am using OC4J (version 10.1.3.4 standalone) with Eclipse 3.5 i.e. Galileo
for development and testing a J2EE Enterprise Application (EAR file) that
contains an EJB and A client application that I'm working on. On a first
run, I am able to build all the components and deploy it fine but if I make
a change to any of the components e.g. make change to component the EJB
and  try to redeploy the EAR file, I get the following error:

C:\EclipseGalileo\eclipse\plugins
\org.eclipse.jst.server.generic.oc4j_1.5.205.v200805140145\buildfiles
\oracle.10.1.3.xml:97: Deploy error: Operation failed with error:
Unable to find/read file META-INF/application.xml in C:\product
\OC4J_Standalone\j2ee\home\applications\BankEJB3.0EAR
(META-INF/application.xml)

The only way that I can get the EAR to redeploy sucessfully is to make a
change in all the components i.e. the Client App and the EJB, and then
build it all again repackage into a new EAR file and then redeploy. It
seems to me that Eclipse will only build, package and deploy components
that have changed since the last build into a new EAR file and exclude the
other components(in this case the clientpplication) that have not changed
from the new EAR file. Hence the newly packaged EAR will contain only the
EJB. Since OC4J deletes the and recreates the folder containing the
application during redeployment i.e (OC4J_HOME\applications
\<APP_NAME_FOLDER>), it essentially tries to redeploy part of EAR (i.e EAR
containg only components that have changed since last deployment) and I
think this is what causes the failure. After a few days spent trying to
figure out what was wrong, I've finally found the culprit and it is to do
with the publish process in eclipse (i.e. clicking on the publish button in
eclipse server view). Essesntially, what happens when when you publish is ,
Eclipse jars up the updated component and places it in  TEMP_FOLDERi.e.
<ECLIPSE_WORKSPACE>\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
\<ARCHIVE_NAME>. Then using the build file found @ <ECLIPSE_HOME>\plugins
\org.eclipse.jst.server.generic.oc4j_1.5.205.v200805140145\buildfiles
\oracle.10.1.3.xml, eclipse creates an a archive (EAR) containg only the
updated component(EJB) i.e.(components in the TEMP_FOLDER) and excludes all
of the components that have not been updated (in this case the appclient)
and tries to deploy this new "partial" Archive.

The deployment descriptor (application.xml) of this new "partial" archive
will still however, have a reference to the compnonent which has not
changed although that is not part of this new archive (i.e new Archive
contains only the updated components). Oc4J  then tries to deploy  the new
archive. However, during deployment, oc4j undeploys the older application
(which contains all components) and tries to deploy teh new archive(which
contains only the updated components). The redeployment fails because of
the references(in application.xml) to the components that that are not part
of the new archive.


I'm wondering if this is the expected behaviour and whether it will ever be
fixed? Or is there a certain specifics steps to set up EAR projects  for
deployment to OC4J?

Any answers to these questions will be greatly appreciated
_______________________________________________
wtp-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/wtp-dev

<<inline: graycol.gif>>

<<inline: ecblank.gif>>

_______________________________________________
wtp-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/wtp-dev

Reply via email to