- This topic has 3 replies, 2 voices, and was last updated 19 years, 4 months ago by
Scott Anderson.
-
AuthorPosts
-
petertmartinMemberI have an enterprise application with a single EJB module. I have used MyEclipse to export an EAR file, which I have manually deployed on WebSphere. It works. I then use the deploy tool in MyEclipse to deploy an exploded EAR, which replaces my deployed application. However, it replaces the packaged EJB jar with an exploded directory (with the same name as the JAR file). WebSphere then refuses to start the application because it can find the EJB classes.
Is there a way to prevent MyEclipse exploding the EJB JAR?
Scott AndersonParticipantIs there a way to prevent MyEclipse exploding the EJB JAR?
Not really. Exploded deployment is “exploded everything”. When you re-sepcified the deployment as exploded, did you get options to choose the “overwrite options” at the bottom of the deployment manager dialog? If you did, I think specifying the overwrite option that is only additive (I forget what it’s specifically called) will leave what’s there in place (ie. the ejb jar) while expoding everything else around it.
petertmartinMemberThanks for your reply. Does that not imply though that you can’t use MyEclipse to debug EJBs without going through a full deployment (exporting an EAR and updating the application through the admin console)?
Scott AndersonParticipantIf WebSphere can’t recognize the exploded jar file then I’m afraid it does, for WebSphere. I think the admin ‘deploy’ step is where WebSphere builds the stub/skel code for the EJB’s, unlike the other servers that simply do it when the deployment is first loaded. So, you’re likely correct that for WebSphere a full deployment would be required if you change your class signatures. However, if you simply are stepping and making light modifications then the JDPA support will update the class files in the running WebSphere instance in memory. But, once you shutdown WebSphere, since this drops the “in memory” version, a new deployment will be required to update the application for the next restart.
For other servers, these limitations do not apply as they recognize a fully exploded deployment. Also, how well WebSphere support it might also be version dependent (ie it might not work on WAS 5 but will on WAS 6).
-
AuthorPosts