Maven 3 upgrage - maven ear plugin bundles diffferent version of libs - ClassNotFoundException weblogic -


i have maven multi module project. in there few web projects , ejb projects. there no cheange in source code of entire project. upgraded maven 3 , built project. resulting ear file has libraries of different versions ear file built using maven 2. older version of particular libs , newer version of particular libs.

for eg: commons-logging-1.1.1 maven2 wiht maven 3 resolved commons-logging-1.0.3

the real problem is, when try deploy ear created maven 3 weblogic server, classnotfoundexception spring classes. spring classes there in ear file. double checked it. ear file of same source code built maven 2 deploys successfully.

<mar 24, 2014 11:42:17 ist> <error> <http> <bea-101371> <there failure when processing annotations application c:\weblogic\appsrv\domains\mydomain\servers\admin\tmp\_wl_user\myapp-ear\1697udy\app-control.war. please make sure annotations valid. error org.springframework.web.context.support.httprequesthandlerservlet> <mar 24, 2014 11:42:17 ist> <error> <deployer> <bea-149205> <failed initialize application 'mayapp-ear' due error weblogic.application.moduleexception: failed load webapp: '/app-control-war'. weblogic.application.moduleexception: failed load webapp: '/app-control-war'         @ weblogic.servlet.internal.webappmodule.prepare(webappmodule.java:387)         @ weblogic.application.internal.flow.scopedmoduledriver.prepare(scopedmoduledriver.java:180)         @ weblogic.application.internal.flow.modulelistenerinvoker.prepare(modulelistenerinvoker.java:93)         @ weblogic.application.internal.flow.deploymentcallbackflow$1.next(deploymentcallbackflow.java:388)         @ weblogic.application.utils.statemachinedriver.nextstate(statemachinedriver.java:37)         truncated. see log file complete stacktrace java.lang.classnotfoundexception: org.springframework.web.context.support.httprequesthandlerservlet         @ weblogic.utils.classloaders.genericclassloader.findlocalclass(genericclassloader.java:283)         @ weblogic.utils.classloaders.genericclassloader.findclass(genericclassloader.java:256)         @ weblogic.utils.classloaders.changeawareclassloader.findclass(changeawareclassloader.java:54)         @ java.lang.classloader.loadclass(classloader.java:306)         @ java.lang.classloader.loadclass(classloader.java:247)         truncated. see log file complete stacktrace 

if upgrade maven, there need tell application server?

update: see there no classpath entry in 1 of ejb module's manifest file. may cause of issue. why missing when fine maven2 build? there no change in pom file @ all.

it turned out bug maven 3.0.3 https://jira.codehaus.org/i#browse/mejb-53

as workaround, added maven-jar-plugin generate manifest file class path entries , added manifestfile property maven-ejb-plugin

<plugin>     <groupid>org.apache.maven.plugins</groupid>     <artifactid>maven-jar-plugin</artifactid>     <configuration>         <archive>             <manifest>                 <addclasspath>true</addclasspath>             </manifest>         </archive>     </configuration> </plugin> <plugin>    <groupid>org.apache.maven.plugins</groupid>    <artifactid>maven-ejb-plugin</artifactid>    <configuration>        <ejbversion>3.0</ejbversion>        <archive>         <manifestfile>target/generated-resources/meta-inf/manifest.mf</manifestfile>        </archive>   </configuration> 


Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -