David, This is quite interesting point that you point it out. Do you know how I can make maven stop generating the MANIFEST.MF file?
Thanks -B djencks wrote: > > Hi bongosdude, > > It looks like the war plugin is not javaee-5 aware. Anything you put > in the ear lib directory gets into the ear classloader which is a > parent to the war classloader. Thus you don't need the war manifest > classpath entries at all in an ee5 container such as geronimo. Your > solution should work but is unnecessarily complicated. Since the > maven plugin isn't ee-5 aware it may be easier not to stop generating > the manifest classpath entries. > > Thanks for pointing this out! I created a maven jira in case anyone > there wants to work on this... http://jira.codehaus.org/browse/MWAR-178 > > david jencks > > On Jan 10, 2009, at 9:35 AM, bongosdude wrote: > >> >> Hi, >> >> I found the an interesting thing about the problem that I reported >> in this >> post thread. Basically, I set up my project as maven and then >> convert the >> build EAR into eclipse projects so that I can debug my ejb and war >> app using >> GEP (please also see my other post from >> http://www.nabble.com/car-maven-plugin-and-GEP-to21095185s134.html >> to see >> how this can be done.) I have followed the practice to bundle my WAR >> project >> so that it refers all lib dependencies to its EAR lib directory. This >> practice is well documented as skinny war (please see >> http://maven.apache.org/plugins/maven-war-plugin/examples/skinny-wars.html) >> . >> The interesting here is that maven is quite smart to handle transitive >> dependency and as a result, mave generates my war META-INF/ >> METAFEST.MF to >> refer to some missing jar files in EAR lib directory. Once I >> manually added >> these jars file to my ear pom.xml file, I fixed the mysterious >> "JAVAEE 5 >> Section 8.2" problem. >> >> Thanks for all excellent supports from this forum who has made >> geronimo well >> JEE app and product. >> >> -B >> >> >> bongosdude wrote: >>> >>> After I fixed the manifest classpath problem, maven successfully >>> build my >>> project. But I still have questions about geronimo-web.xml. >>> >>> Thanks >>> -B >>> >>> Embedded error: Manifest class path entries must be a valid jar file >>> (JAVAEE 5 Section 8.2): path= lib/callingcard-ejb-0.0.1-SNAPSHOT.jar, >>> resolved to targetURI= lib/callingcard-ejb-0.0.1-SNAPSHOT.jar >>> >>> >>> >>> bongosdude wrote: >>>> >>>> Background >>>> >>>> I encountered this problem that I do not quite understand. I set >>>> up my >>>> demo after I looked at the car-maven-plugin, m2eclipse and the >>>> geronimo >>>> sample calculator. I have manually created my demo project by >>>> using maven >>>> achetype-create with groupId=org.apache.geronimo.samples and >>>> archytypeId=geronimo-samples-archetypes. And then I tweaked POM >>>> files >>>> generated by looking at calculator POM files. I had to go through >>>> this >>>> manual process because my web application is Tapestry5. And I have >>>> to add >>>> dependencies to POM files. Maven build sub projects successfully >>>> except >>>> when it tried to build jetty and tomcat CAR plugin. Here are the >>>> error >>>> messages that I got: >>>> >>>> [WARN] Web application callingcard-war-0.0.1-SNAPSHOT.war does not >>>> contain a WEB-INF/geronimo-web.xml deployment plan. This may or >>>> may not >>>> be a problem, depending on whether you have things like resource >>>> references that need to be resolved. You can also give the >>>> deployer a >>>> separate deployment plan file on the command line. >>>> [INFO] The Strict Manifest Classpath processing mode is in effect. >>>> This option can be altered by specifying >>>> -DXorg.apache.geronimo.deployment.LenientMFCP=true|false >>>> Specify ="true" for more lenient processing such as ignoring >>>> missing jars >>>> and references that are not spec compliant. >>>> 12:50:39,649 INFO [config] Configuring >>>> Service(id=DefaultStatelessContainer, type=Container, provider- >>>> id=Default >>>> Stateless Container) >>>> 12:50:39,653 INFO [config] Configuring >>>> Service(id=DefaultStatefulContainer, type=Container, provider- >>>> id=Default >>>> Stateful Container) >>>> 12:50:39,654 INFO [config] Configuring >>>> Service(id=DefaultSingletonContainer, type=Container, provider- >>>> id=Default >>>> Singleton Container) >>>> 12:50:39,655 INFO [config] Configuring >>>> Service(id=DefaultBMPContainer, >>>> type=Container, provider-id=Default BMP Container) >>>> 12:50:39,655 INFO [config] Configuring >>>> Service(id=DefaultCMPContainer, >>>> type=Container, provider-id=Default CMP Container) >>>> 12:50:39,663 INFO [config] Configuring enterprise application: >>>> com.myvoip.ipservices/callingcard-jetty/0.0.1-SNAPSHOT/car >>>> 12:50:40,359 INFO [OpenEJB] Auto-deploying ejb PayPalNVPProcessor: >>>> EjbDeployment(deployment-id=callingcard-ejb-0.0.1-SNAPSHOT.jar/ >>>> PayPalNVPProcessor) >>>> 12:50:40,360 INFO [OpenEJB] Auto-deploying ejb NutalkNewOrderBean: >>>> EjbDeployment(deployment-id=callingcard-ejb-0.0.1-SNAPSHOT.jar/ >>>> NutalkNewOrderBean) >>>> 12:50:40,360 INFO [OpenEJB] Auto-deploying ejb SampleBean: >>>> EjbDeployment(deployment-id=callingcard-ejb-0.0.1-SNAPSHOT.jar/ >>>> SampleBean) >>>> 12:50:40,412 INFO [config] Enterprise application >>>> "com.myvoip.ipservices/callingcard-jetty/0.0.1-SNAPSHOT/car" loaded. >>>> [INFO] >>>> ------------------------------------------------------------------------ >>>> [ERROR] BUILD ERROR >>>> [INFO] >>>> ------------------------------------------------------------------------ >>>> [INFO] could not package plugin >>>> >>>> Embedded error: Manifest class path entries must be a valid jar file >>>> (JAVAEE 5 Section 8.2): path= lib/callingcard-ejb-0.0.1- >>>> SNAPSHOT.jar, >>>> resolved to targetURI= lib/callingcard-ejb-0.0.1-SNAPSHOT.jar >>>> looking at: callingcard-war-0.0.1-SNAPSHOT.war current >>>> classpath: >>>> [WEB-INF/classes/, ../lib/callingcard-common-0.0.1-SNAPSHOT.jar, >>>> ../lib/paypal-stubs-4.3.1.jar, ../lib/paypal-base-4.3.1.jar, >>>> ../lib/commons-lang-2.4.jar, ../lib/spring-2.5.6.jar, >>>> ../lib/commons-logging-1.0.4.jar, >>>> ../lib/callingcard-ejb-0.0.1-SNAPSHOT.jar] ignoring modules: >>>> [callingcard-ejb-0.0.1-SNAPSHOT.jar, callingcard-war-0.0.1- >>>> SNAPSHOT.war] >>>> No such file or directory >>>> [INFO] >>>> ------------------------------------------------------------------------ >>>> [INFO] For more information, run Maven with the -e switch >>>> [INFO] >>>> ------------------------------------------------------------------------ >>>> [INFO] Total time: 47 seconds >>>> [INFO] Finished at: Fri Jan 09 12:50:42 EST 2009 >>>> [INFO] Final Memory: 64M/125M >>>> [INFO] >>>> ------------------------------------------------------------------------ >>>> die >>>> >>>> >>>> Questions: >>>> >>>> 1. It seems that I got my first error is that I did not create >>>> WEB-INF/geronimo-web.xml. I can define the option >>>> -DXorg.apache.geronimo.deployment.LenientMFCP=true to make the build >>>> successful. However, I looked at the calculator, it does not have >>>> the >>>> WEB-INF/geronimo-web.xml but maven does not fail when it builds >>>> jetty/tomcat car plugin. So why do I have this error? What do I >>>> miss in >>>> my pom files? >>>> >>>> 2. Can somesome explain what >>>> DXorg.apache.geronimo.deployment.LenientMFCP=true|false does? >>>> >>>> Thank for any helps >>>> >>>> -B >>>> >>>> >>>> >>> >>> >> >> >> ----- >> B Amigo:super: >> -- >> View this message in context: >> http://www.nabble.com/Maven-build-failed-with-missing-WEB-INF-geronimo-web.xml-tp21377598s134p21390405.html >> Sent from the Apache Geronimo - Users mailing list archive at >> Nabble.com. >> > > > ----- B Amigo:super: -- View this message in context: http://www.nabble.com/Maven-build-failed-with-missing-WEB-INF-geronimo-web.xml-tp21377598s134p21392243.html Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.