You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by monkeyden <mo...@monkeyden.com> on 2009/12/08 19:28:24 UTC

java.lang.NoClassDefFoundError - both classes in same aar class tree

I have an authentication service, which builds and deploys just fine.  Inside
of the aar file I have the following structure:

hibernate-config.xml
com
 \ mycompany
lib
 \ [dependent jars]
META-INF
 \ services.xml

My service uses a utility class, named UserOracleDAOImpl, which itself uses
HibernateUserPodUtils.  All 3 classes (the service class, UserOracleDAOImpl
and HibernateUserPodUtils) are in that com.mycompany tree above.  However,
on line 56 of UserOracleDAOImpl I am getting the NoClassDefFoundError
(below) from:

HibernateUserPodUtils.closeSession();

Yes, it does fail on this particular line, not inside closeSession(). 
Should all classes in the tree be visible?  Not exactly sure how the axis
classloader works in the case of aars.

Thanks


13:09:21,656 INFO  [STDOUT] [INFO] Deploying module: addressing-1.3
13:09:21,703 INFO  [STDOUT] [INFO] Deploying module: metadataExchange-1.3
13:09:21,718 INFO  [STDOUT] [INFO] Deploying module: ping-1.3
13:09:21,750 INFO  [STDOUT] [INFO] Deploying module: script-1.3
13:09:21,765 INFO  [STDOUT] [INFO] Deploying module: soapmonitor-1.3
13:09:21,828 INFO  [STDOUT] [INFO] script module activated
13:09:22,546 INFO  [STDOUT] [INFO] Deploying Web service:
authentication-service-1.0.aar
13:09:22,578 INFO  [STDOUT] [INFO] Deploying Web service: version.aar
13:09:33,156 INFO  [STDOUT] [ERROR] Exception occurred while trying to
invoke service method authenticate
java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at
org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:194)
	at
org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:98)
	at
org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
	at
org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:96)
	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
	at
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
	at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:120)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
	at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
	at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
	at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
	at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
	at
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:856)
	at
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:566)
	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1508)
	at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.NoClassDefFoundError
	at
com.mycompany.ids.dao.user.UserOracleDAOImpl.closeSession(UserOracleDAOImpl.java:56)
	at
com.mycompany.ids.dao.user.UserOracleDAOImpl.filterUsersByName(UserOracleDAOImpl.java:104)
	at
com.mycompany.ids.services.authentication.AuthenticationServiceImpl.authenticate(AuthenticationServiceImpl.java:18)
	... 31 more

-- 
View this message in context: http://old.nabble.com/java.lang.NoClassDefFoundError---both-classes-in-same-aar-class-tree-tp26698426p26698426.html
Sent from the Axis - User mailing list archive at Nabble.com.


Re: java.lang.NoClassDefFoundError - both classes in same aar class tree

Posted by monkeyden <mo...@monkeyden.com>.
Incidentally, the HappyAxis page seems perfectly happy:

 Found Axis2 default Version service and Axis2 is working properly.  


monkeyden wrote:
> 
> I have an authentication service, which builds and deploys just fine. 
> Inside of the aar file I have the following structure:
> 
> hibernate-config.xml
> com
>  \ mycompany
> lib
>  \ [dependent jars]
> META-INF
>  \ services.xml
> 
> My service uses a utility class, named UserOracleDAOImpl, which itself
> uses HibernateUserPodUtils.  All 3 classes (the service class,
> UserOracleDAOImpl and HibernateUserPodUtils) are in that com.mycompany
> tree above.  However, on line 56 of UserOracleDAOImpl I am getting the
> NoClassDefFoundError (below) from:
> 
> HibernateUserPodUtils.closeSession();
> 
> Yes, it does fail on this particular line, not inside closeSession(). 
> Should all classes in the tree be visible?  Not exactly sure how the axis
> classloader works in the case of aars.
> 
> Thanks
> 
> 
> 13:09:21,656 INFO  [STDOUT] [INFO] Deploying module: addressing-1.3
> 13:09:21,703 INFO  [STDOUT] [INFO] Deploying module: metadataExchange-1.3
> 13:09:21,718 INFO  [STDOUT] [INFO] Deploying module: ping-1.3
> 13:09:21,750 INFO  [STDOUT] [INFO] Deploying module: script-1.3
> 13:09:21,765 INFO  [STDOUT] [INFO] Deploying module: soapmonitor-1.3
> 13:09:21,828 INFO  [STDOUT] [INFO] script module activated
> 13:09:22,546 INFO  [STDOUT] [INFO] Deploying Web service:
> authentication-service-1.0.aar
> 13:09:22,578 INFO  [STDOUT] [INFO] Deploying Web service: version.aar
> 13:09:33,156 INFO  [STDOUT] [ERROR] Exception occurred while trying to
> invoke service method authenticate
> java.lang.reflect.InvocationTargetException
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at
> org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:194)
> 	at
> org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:98)
> 	at
> org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
> 	at
> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:96)
> 	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
> 	at
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
> 	at
> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:120)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> 	at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> 	at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at
> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
> 	at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
> 	at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> 	at
> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
> 	at
> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
> 	at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> 	at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> 	at
> org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
> 	at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> 	at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
> 	at
> org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:856)
> 	at
> org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:566)
> 	at
> org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1508)
> 	at java.lang.Thread.run(Thread.java:595)
> Caused by: java.lang.NoClassDefFoundError
> 	at
> com.mycompany.ids.dao.user.UserOracleDAOImpl.closeSession(UserOracleDAOImpl.java:56)
> 	at
> com.mycompany.ids.dao.user.UserOracleDAOImpl.filterUsersByName(UserOracleDAOImpl.java:104)
> 	at
> com.mycompany.ids.services.authentication.AuthenticationServiceImpl.authenticate(AuthenticationServiceImpl.java:18)
> 	... 31 more
> 
> 

-- 
View this message in context: http://old.nabble.com/java.lang.NoClassDefFoundError---both-classes-in-same-aar-class-tree-tp26698426p26698741.html
Sent from the Axis - User mailing list archive at Nabble.com.