I am facing a problem connected with deploying two application on Tomcat 5 server. When deploying and running the server I receive an error message, which also prevents the second application to be properly run.
Unable to deploy collapsed ear in war /my-app: Exception: Application cannot be deployed as it contains deployment-ids which are in use:
And after that there is a list of all duplicated ids. The second application is a smaller one, which is added to an already existing one managing all the entities. The project is build by Eclipse nad Maven. Is there a way to add dependency which should be included in the second application ( that what I intend to do right now ) so the second application will be able to know/use already exsiting packages?
Thank you in adnvace for any support,
Regards
I don't know what that notion of an EAR file is, but Tomcat is not a full Java EE app server. It's a servlet/JSP engine; it has no way to deal with EARs. If you're deploying an EAR, or your WAR has an EAR inside it for some reason, you'll have to add something like OpenEJB to your Tomcat deployment.
I ran into the same problem with apache-tomee-plume-7.0.4, after adding liquibase to more than one web-apps deployed in the same container.
this version comes with it's own system.properties file, all I had to do was to uncomment the line which defines the property shown above.
# openejb.deploymentId.format = {appId}/{ejbJarId}/{ejbName}
After uncommenting this line and rebuilding, I found that the problem went away and I experienced no other residual errors.
Quoting from the FAQ
From the JIRA, this fix should apply to OpenEJB 3.1