You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomee.apache.org by Violeta Georgieva <vi...@apache.org> on 2017/08/10 13:28:18 UTC

ClassNotFoundException when deploying EAR with EJB module as directory

Hi,

I have an EAR that has one EJB module and one Web module.
Both the EJB and Web modules are as directories.

When I try to deploy the EAR I receive the exception below.

It seems that the temporary class loader cannot find the class when it is
located in a directory.

Here [1] I prepared a test case that reproduces the issue.

Can you please help?

Thanks,
Violeta

[1]
https://github.com/violetagg/tomee/commit/5eb1bcc1ad3bc3d2868ca7e1174a1a99b758a03f

java.io.IOException: java.lang.ClassNotFoundException:
org/apache/openejb/arquillian/TestEjb.class
at
org.apache.xbean.finder.archive.ArchiveIterator$1.getBytecode(ArchiveIterator.java:50)
at
org.apache.xbean.finder.AnnotationFinder.<init>(AnnotationFinder.java:147)
at
org.apache.xbean.finder.AnnotationFinder.<init>(AnnotationFinder.java:160)
at
org.apache.openejb.config.FinderFactory$OpenEJBAnnotationFinder.<init>(FinderFactory.java:546)
at org.apache.openejb.config.FinderFactory.newFinder(FinderFactory.java:267)
at org.apache.openejb.config.FinderFactory.create(FinderFactory.java:110)
at
org.apache.openejb.config.FinderFactory.createFinder(FinderFactory.java:69)
at
org.apache.openejb.config.AnnotationDeployer$DiscoverAnnotatedBeans.deploy(AnnotationDeployer.java:1294)
at
org.apache.openejb.config.AnnotationDeployer$DiscoverAnnotatedBeans.deploy(AnnotationDeployer.java:465)
at
org.apache.openejb.config.AnnotationDeployer.deploy(AnnotationDeployer.java:380)
at
org.apache.openejb.config.ConfigurationFactory$Chain.deploy(ConfigurationFactory.java:420)
at
org.apache.openejb.config.ConfigurationFactory.configureApplication(ConfigurationFactory.java:1037)
at org.apache.openejb.assembler.DeployerEjb.deploy(DeployerEjb.java:245)
at org.apache.openejb.assembler.DeployerEjb.deploy(DeployerEjb.java:145)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205)
at
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186)
at
org.apache.openejb.security.internal.InternalSecurityInterceptor.invoke(InternalSecurityInterceptor.java:35)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205)
at
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186)
at
org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:181)
at
org.apache.openejb.monitoring.StatsInterceptor.invoke(StatsInterceptor.java:100)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205)
at
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186)
at
org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:85)
at
org.apache.openejb.core.singleton.SingletonContainer._invoke(SingletonContainer.java:272)
at
org.apache.openejb.core.singleton.SingletonContainer.invoke(SingletonContainer.java:221)
at
org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:371)
at
org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:182)
at
org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:360)
at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:247)
at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:104)
at
org.apache.openejb.server.httpd.ServerServlet.service(ServerServlet.java:60)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:595)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at
org.apache.tomee.catalina.OpenEJBSecurityListener$RequestCapturer.invoke(OpenEJBSecurityListener.java:97)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
at
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)
at
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1457)
at
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException:
org/apache/openejb/arquillian/TestEjb.class
at
org.apache.xbean.finder.archive.FileArchive.getBytecode(FileArchive.java:83)
at
org.apache.xbean.finder.archive.ArchiveIterator$1.getBytecode(ArchiveIterator.java:48)
... 67 more

Re: ClassNotFoundException when deploying EAR with EJB module as directory

Posted by Violeta Georgieva <vi...@apache.org>.
Here [1] the *url* that is returned is in the form

file:/<path>/apache-tomee-webprofile-7.0.4-SNAPSHOT/webapps/test-ear.ear/test-ejb.jar

i.e. indicating a file, if I modify a bit the URL (I did it with the
debugger) to become

file:/<path>/apache-tomee-webprofile-7.0.4-SNAPSHOT/webapps/test-ear.ear/test-ejb.jar/

note the ending */*, then the deployment is OK and the application is
working properly

Violeta

[1]
https://github.com/apache/tomee/blob/master/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java#L418

2017-08-10 18:25 GMT+03:00 Violeta Georgieva <mi...@gmail.com>:

> The same exception ...
>
>
> On Thu, Aug 10, 2017 at 5:52 PM Romain Manni-Bucau <rm...@gmail.com>
> wrote:
>
>> Hi Violeta
>>
>> it can be an issue with the DeployerEjb, did you try activating and
>> dropping the ear in apps folder in a standalone tomee?
>>
>>
>> Romain Manni-Bucau
>> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
>> <https://blog-rmannibucau.rhcloud.com> | Old Blog
>> <http://rmannibucau.wordpress.com> | Github <https://github.com/
>> rmannibucau> |
>> LinkedIn <https://www.linkedin.com/in/rmannibucau> | JavaEE Factory
>> <https://javaeefactory-rmannibucau.rhcloud.com>
>>
>> 2017-08-10 15:28 GMT+02:00 Violeta Georgieva <vi...@apache.org>:
>>
>> > Hi,
>> >
>> > I have an EAR that has one EJB module and one Web module.
>> > Both the EJB and Web modules are as directories.
>> >
>> > When I try to deploy the EAR I receive the exception below.
>> >
>> > It seems that the temporary class loader cannot find the class when it
>> is
>> > located in a directory.
>> >
>> > Here [1] I prepared a test case that reproduces the issue.
>> >
>> > Can you please help?
>> >
>> > Thanks,
>> > Violeta
>> >
>> > [1]
>> > https://github.com/violetagg/tomee/commit/
>> 5eb1bcc1ad3bc3d2868ca7e1174a1a
>> > 99b758a03f
>> >
>> > java.io.IOException: java.lang.ClassNotFoundException:
>> > org/apache/openejb/arquillian/TestEjb.class
>> > at
>> > org.apache.xbean.finder.archive.ArchiveIterator$1.
>> > getBytecode(ArchiveIterator.java:50)
>> > at
>> > org.apache.xbean.finder.AnnotationFinder.<init>(
>> AnnotationFinder.java:147)
>> > at
>> > org.apache.xbean.finder.AnnotationFinder.<init>(
>> AnnotationFinder.java:160)
>> > at
>> > org.apache.openejb.config.FinderFactory$OpenEJBAnnotationFinder.<init>
>> > (FinderFactory.java:546)
>> > at org.apache.openejb.config.FinderFactory.newFinder(
>> > FinderFactory.java:267)
>> > at org.apache.openejb.config.FinderFactory.create(
>> FinderFactory.java:110)
>> > at
>> > org.apache.openejb.config.FinderFactory.createFinder(
>> > FinderFactory.java:69)
>> > at
>> > org.apache.openejb.config.AnnotationDeployer$
>> > DiscoverAnnotatedBeans.deploy(AnnotationDeployer.java:1294)
>> > at
>> > org.apache.openejb.config.AnnotationDeployer$
>> > DiscoverAnnotatedBeans.deploy(AnnotationDeployer.java:465)
>> > at
>> > org.apache.openejb.config.AnnotationDeployer.deploy(
>> > AnnotationDeployer.java:380)
>> > at
>> > org.apache.openejb.config.ConfigurationFactory$Chain.
>> > deploy(ConfigurationFactory.java:420)
>> > at
>> > org.apache.openejb.config.ConfigurationFactory.configureApplication(
>> > ConfigurationFactory.java:1037)
>> > at org.apache.openejb.assembler.DeployerEjb.deploy(
>> DeployerEjb.java:245)
>> > at org.apache.openejb.assembler.DeployerEjb.deploy(
>> DeployerEjb.java:145)
>> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> > at
>> > sun.reflect.NativeMethodAccessorImpl.invoke(
>> NativeMethodAccessorImpl.java:
>> > 57)
>> > at
>> > sun.reflect.DelegatingMethodAccessorImpl.invoke(
>> > DelegatingMethodAccessorImpl.java:43)
>> > at java.lang.reflect.Method.invoke(Method.java:606)
>> > at
>> > org.apache.openejb.core.interceptor.ReflectionInvocationContext$
>> > Invocation.invoke(ReflectionInvocationContext.java:205)
>> > at
>> > org.apache.openejb.core.interceptor.ReflectionInvocationContext.
>> proceed(
>> > ReflectionInvocationContext.java:186)
>> > at
>> > org.apache.openejb.security.internal.InternalSecurityInterceptor.
>> invoke(
>> > InternalSecurityInterceptor.java:35)
>> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> > at
>> > sun.reflect.NativeMethodAccessorImpl.invoke(
>> NativeMethodAccessorImpl.java:
>> > 57)
>> > at
>> > sun.reflect.DelegatingMethodAccessorImpl.invoke(
>> > DelegatingMethodAccessorImpl.java:43)
>> > at java.lang.reflect.Method.invoke(Method.java:606)
>> > at
>> > org.apache.openejb.core.interceptor.ReflectionInvocationContext$
>> > Invocation.invoke(ReflectionInvocationContext.java:205)
>> > at
>> > org.apache.openejb.core.interceptor.ReflectionInvocationContext.
>> proceed(
>> > ReflectionInvocationContext.java:186)
>> > at
>> > org.apache.openejb.monitoring.StatsInterceptor.record(
>> > StatsInterceptor.java:181)
>> > at
>> > org.apache.openejb.monitoring.StatsInterceptor.invoke(
>> > StatsInterceptor.java:100)
>> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> > at
>> > sun.reflect.NativeMethodAccessorImpl.invoke(
>> NativeMethodAccessorImpl.java:
>> > 57)
>> > at
>> > sun.reflect.DelegatingMethodAccessorImpl.invoke(
>> > DelegatingMethodAccessorImpl.java:43)
>> > at java.lang.reflect.Method.invoke(Method.java:606)
>> > at
>> > org.apache.openejb.core.interceptor.ReflectionInvocationContext$
>> > Invocation.invoke(ReflectionInvocationContext.java:205)
>> > at
>> > org.apache.openejb.core.interceptor.ReflectionInvocationContext.
>> proceed(
>> > ReflectionInvocationContext.java:186)
>> > at
>> > org.apache.openejb.core.interceptor.InterceptorStack.
>> > invoke(InterceptorStack.java:85)
>> > at
>> > org.apache.openejb.core.singleton.SingletonContainer._
>> > invoke(SingletonContainer.java:272)
>> > at
>> > org.apache.openejb.core.singleton.SingletonContainer.
>> > invoke(SingletonContainer.java:221)
>> > at
>> > org.apache.openejb.server.ejbd.EjbRequestHandler.
>> > doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:371)
>> > at
>> > org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(
>> > EjbRequestHandler.java:182)
>> > at
>> > org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.
>> > java:360)
>> > at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:247)
>> > at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:104)
>> > at
>> > org.apache.openejb.server.httpd.ServerServlet.service(
>> > ServerServlet.java:60)
>> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
>> > at
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
>> > ApplicationFilterChain.java:231)
>> > at
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(
>> > ApplicationFilterChain.java:166)
>> > at org.apache.tomcat.websocket.server.WsFilter.doFilter(
>> WsFilter.java:52)
>> > at
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
>> > ApplicationFilterChain.java:193)
>> > at
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(
>> > ApplicationFilterChain.java:166)
>> > at
>> > org.apache.catalina.core.StandardWrapperValve.invoke(
>> > StandardWrapperValve.java:198)
>> > at
>> > org.apache.catalina.core.StandardContextValve.invoke(
>> > StandardContextValve.java:96)
>> > at
>> > org.apache.catalina.authenticator.AuthenticatorBase.invoke(
>> > AuthenticatorBase.java:595)
>> > at
>> > org.apache.catalina.core.StandardHostValve.invoke(
>> > StandardHostValve.java:140)
>> > at
>> > org.apache.tomee.catalina.OpenEJBSecurityListener$
>> RequestCapturer.invoke(
>> > OpenEJBSecurityListener.java:97)
>> > at
>> > org.apache.catalina.valves.ErrorReportValve.invoke(
>> > ErrorReportValve.java:80)
>> > at
>> > org.apache.catalina.valves.AbstractAccessLogValve.invoke(
>> > AbstractAccessLogValve.java:650)
>> > at
>> > org.apache.catalina.core.StandardEngineValve.invoke(
>> > StandardEngineValve.java:87)
>> > at
>> > org.apache.catalina.connector.CoyoteAdapter.service(
>> > CoyoteAdapter.java:342)
>> > at
>> > org.apache.coyote.http11.Http11Processor.service(
>> Http11Processor.java:799)
>> > at
>> > org.apache.coyote.AbstractProcessorLight.process(
>> > AbstractProcessorLight.java:66)
>> > at
>> > org.apache.coyote.AbstractProtocol$ConnectionHandler.process(
>> > AbstractProtocol.java:868)
>> > at
>> > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.
>> > doRun(NioEndpoint.java:1457)
>> > at
>> > org.apache.tomcat.util.net.SocketProcessorBase.run(
>> > SocketProcessorBase.java:49)
>> > at
>> > java.util.concurrent.ThreadPoolExecutor.runWorker(
>> > ThreadPoolExecutor.java:1145)
>> > at
>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(
>> > ThreadPoolExecutor.java:615)
>> > at
>> > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(
>> > TaskThread.java:61)
>> > at java.lang.Thread.run(Thread.java:745)
>> > Caused by: java.lang.ClassNotFoundException:
>> > org/apache/openejb/arquillian/TestEjb.class
>> > at
>> > org.apache.xbean.finder.archive.FileArchive.
>> getBytecode(FileArchive.java:
>> > 83)
>> > at
>> > org.apache.xbean.finder.archive.ArchiveIterator$1.
>> > getBytecode(ArchiveIterator.java:48)
>> > ... 67 more
>> >
>>
>

Re: ClassNotFoundException when deploying EAR with EJB module as directory

Posted by Violeta Georgieva <mi...@gmail.com>.
The same exception ...


On Thu, Aug 10, 2017 at 5:52 PM Romain Manni-Bucau <rm...@gmail.com>
wrote:

> Hi Violeta
>
> it can be an issue with the DeployerEjb, did you try activating and
> dropping the ear in apps folder in a standalone tomee?
>
>
> Romain Manni-Bucau
> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> <https://blog-rmannibucau.rhcloud.com> | Old Blog
> <http://rmannibucau.wordpress.com> | Github <
> https://github.com/rmannibucau> |
> LinkedIn <https://www.linkedin.com/in/rmannibucau> | JavaEE Factory
> <https://javaeefactory-rmannibucau.rhcloud.com>
>
> 2017-08-10 15:28 GMT+02:00 Violeta Georgieva <vi...@apache.org>:
>
> > Hi,
> >
> > I have an EAR that has one EJB module and one Web module.
> > Both the EJB and Web modules are as directories.
> >
> > When I try to deploy the EAR I receive the exception below.
> >
> > It seems that the temporary class loader cannot find the class when it is
> > located in a directory.
> >
> > Here [1] I prepared a test case that reproduces the issue.
> >
> > Can you please help?
> >
> > Thanks,
> > Violeta
> >
> > [1]
> > https://github.com/violetagg/tomee/commit/5eb1bcc1ad3bc3d2868ca7e1174a1a
> > 99b758a03f
> >
> > java.io.IOException: java.lang.ClassNotFoundException:
> > org/apache/openejb/arquillian/TestEjb.class
> > at
> > org.apache.xbean.finder.archive.ArchiveIterator$1.
> > getBytecode(ArchiveIterator.java:50)
> > at
> >
> org.apache.xbean.finder.AnnotationFinder.<init>(AnnotationFinder.java:147)
> > at
> >
> org.apache.xbean.finder.AnnotationFinder.<init>(AnnotationFinder.java:160)
> > at
> > org.apache.openejb.config.FinderFactory$OpenEJBAnnotationFinder.<init>
> > (FinderFactory.java:546)
> > at org.apache.openejb.config.FinderFactory.newFinder(
> > FinderFactory.java:267)
> > at org.apache.openejb.config.FinderFactory.create(FinderFactory.java:110)
> > at
> > org.apache.openejb.config.FinderFactory.createFinder(
> > FinderFactory.java:69)
> > at
> > org.apache.openejb.config.AnnotationDeployer$
> > DiscoverAnnotatedBeans.deploy(AnnotationDeployer.java:1294)
> > at
> > org.apache.openejb.config.AnnotationDeployer$
> > DiscoverAnnotatedBeans.deploy(AnnotationDeployer.java:465)
> > at
> > org.apache.openejb.config.AnnotationDeployer.deploy(
> > AnnotationDeployer.java:380)
> > at
> > org.apache.openejb.config.ConfigurationFactory$Chain.
> > deploy(ConfigurationFactory.java:420)
> > at
> > org.apache.openejb.config.ConfigurationFactory.configureApplication(
> > ConfigurationFactory.java:1037)
> > at org.apache.openejb.assembler.DeployerEjb.deploy(DeployerEjb.java:245)
> > at org.apache.openejb.assembler.DeployerEjb.deploy(DeployerEjb.java:145)
> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > at
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
> > 57)
> > at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > DelegatingMethodAccessorImpl.java:43)
> > at java.lang.reflect.Method.invoke(Method.java:606)
> > at
> > org.apache.openejb.core.interceptor.ReflectionInvocationContext$
> > Invocation.invoke(ReflectionInvocationContext.java:205)
> > at
> > org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(
> > ReflectionInvocationContext.java:186)
> > at
> > org.apache.openejb.security.internal.InternalSecurityInterceptor.invoke(
> > InternalSecurityInterceptor.java:35)
> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > at
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
> > 57)
> > at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > DelegatingMethodAccessorImpl.java:43)
> > at java.lang.reflect.Method.invoke(Method.java:606)
> > at
> > org.apache.openejb.core.interceptor.ReflectionInvocationContext$
> > Invocation.invoke(ReflectionInvocationContext.java:205)
> > at
> > org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(
> > ReflectionInvocationContext.java:186)
> > at
> > org.apache.openejb.monitoring.StatsInterceptor.record(
> > StatsInterceptor.java:181)
> > at
> > org.apache.openejb.monitoring.StatsInterceptor.invoke(
> > StatsInterceptor.java:100)
> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > at
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
> > 57)
> > at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > DelegatingMethodAccessorImpl.java:43)
> > at java.lang.reflect.Method.invoke(Method.java:606)
> > at
> > org.apache.openejb.core.interceptor.ReflectionInvocationContext$
> > Invocation.invoke(ReflectionInvocationContext.java:205)
> > at
> > org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(
> > ReflectionInvocationContext.java:186)
> > at
> > org.apache.openejb.core.interceptor.InterceptorStack.
> > invoke(InterceptorStack.java:85)
> > at
> > org.apache.openejb.core.singleton.SingletonContainer._
> > invoke(SingletonContainer.java:272)
> > at
> > org.apache.openejb.core.singleton.SingletonContainer.
> > invoke(SingletonContainer.java:221)
> > at
> > org.apache.openejb.server.ejbd.EjbRequestHandler.
> > doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:371)
> > at
> > org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(
> > EjbRequestHandler.java:182)
> > at
> > org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.
> > java:360)
> > at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:247)
> > at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:104)
> > at
> > org.apache.openejb.server.httpd.ServerServlet.service(
> > ServerServlet.java:60)
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
> > at
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> > ApplicationFilterChain.java:231)
> > at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(
> > ApplicationFilterChain.java:166)
> > at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
> > at
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> > ApplicationFilterChain.java:193)
> > at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(
> > ApplicationFilterChain.java:166)
> > at
> > org.apache.catalina.core.StandardWrapperValve.invoke(
> > StandardWrapperValve.java:198)
> > at
> > org.apache.catalina.core.StandardContextValve.invoke(
> > StandardContextValve.java:96)
> > at
> > org.apache.catalina.authenticator.AuthenticatorBase.invoke(
> > AuthenticatorBase.java:595)
> > at
> > org.apache.catalina.core.StandardHostValve.invoke(
> > StandardHostValve.java:140)
> > at
> > org.apache.tomee.catalina.OpenEJBSecurityListener$RequestCapturer.invoke(
> > OpenEJBSecurityListener.java:97)
> > at
> > org.apache.catalina.valves.ErrorReportValve.invoke(
> > ErrorReportValve.java:80)
> > at
> > org.apache.catalina.valves.AbstractAccessLogValve.invoke(
> > AbstractAccessLogValve.java:650)
> > at
> > org.apache.catalina.core.StandardEngineValve.invoke(
> > StandardEngineValve.java:87)
> > at
> > org.apache.catalina.connector.CoyoteAdapter.service(
> > CoyoteAdapter.java:342)
> > at
> >
> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)
> > at
> > org.apache.coyote.AbstractProcessorLight.process(
> > AbstractProcessorLight.java:66)
> > at
> > org.apache.coyote.AbstractProtocol$ConnectionHandler.process(
> > AbstractProtocol.java:868)
> > at
> > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.
> > doRun(NioEndpoint.java:1457)
> > at
> > org.apache.tomcat.util.net.SocketProcessorBase.run(
> > SocketProcessorBase.java:49)
> > at
> > java.util.concurrent.ThreadPoolExecutor.runWorker(
> > ThreadPoolExecutor.java:1145)
> > at
> > java.util.concurrent.ThreadPoolExecutor$Worker.run(
> > ThreadPoolExecutor.java:615)
> > at
> > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(
> > TaskThread.java:61)
> > at java.lang.Thread.run(Thread.java:745)
> > Caused by: java.lang.ClassNotFoundException:
> > org/apache/openejb/arquillian/TestEjb.class
> > at
> > org.apache.xbean.finder.archive.FileArchive.getBytecode(FileArchive.java:
> > 83)
> > at
> > org.apache.xbean.finder.archive.ArchiveIterator$1.
> > getBytecode(ArchiveIterator.java:48)
> > ... 67 more
> >
>

Re: ClassNotFoundException when deploying EAR with EJB module as directory

Posted by Romain Manni-Bucau <rm...@gmail.com>.
Hi Violeta

it can be an issue with the DeployerEjb, did you try activating and
dropping the ear in apps folder in a standalone tomee?


Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<https://blog-rmannibucau.rhcloud.com> | Old Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | JavaEE Factory
<https://javaeefactory-rmannibucau.rhcloud.com>

2017-08-10 15:28 GMT+02:00 Violeta Georgieva <vi...@apache.org>:

> Hi,
>
> I have an EAR that has one EJB module and one Web module.
> Both the EJB and Web modules are as directories.
>
> When I try to deploy the EAR I receive the exception below.
>
> It seems that the temporary class loader cannot find the class when it is
> located in a directory.
>
> Here [1] I prepared a test case that reproduces the issue.
>
> Can you please help?
>
> Thanks,
> Violeta
>
> [1]
> https://github.com/violetagg/tomee/commit/5eb1bcc1ad3bc3d2868ca7e1174a1a
> 99b758a03f
>
> java.io.IOException: java.lang.ClassNotFoundException:
> org/apache/openejb/arquillian/TestEjb.class
> at
> org.apache.xbean.finder.archive.ArchiveIterator$1.
> getBytecode(ArchiveIterator.java:50)
> at
> org.apache.xbean.finder.AnnotationFinder.<init>(AnnotationFinder.java:147)
> at
> org.apache.xbean.finder.AnnotationFinder.<init>(AnnotationFinder.java:160)
> at
> org.apache.openejb.config.FinderFactory$OpenEJBAnnotationFinder.<init>
> (FinderFactory.java:546)
> at org.apache.openejb.config.FinderFactory.newFinder(
> FinderFactory.java:267)
> at org.apache.openejb.config.FinderFactory.create(FinderFactory.java:110)
> at
> org.apache.openejb.config.FinderFactory.createFinder(
> FinderFactory.java:69)
> at
> org.apache.openejb.config.AnnotationDeployer$
> DiscoverAnnotatedBeans.deploy(AnnotationDeployer.java:1294)
> at
> org.apache.openejb.config.AnnotationDeployer$
> DiscoverAnnotatedBeans.deploy(AnnotationDeployer.java:465)
> at
> org.apache.openejb.config.AnnotationDeployer.deploy(
> AnnotationDeployer.java:380)
> at
> org.apache.openejb.config.ConfigurationFactory$Chain.
> deploy(ConfigurationFactory.java:420)
> at
> org.apache.openejb.config.ConfigurationFactory.configureApplication(
> ConfigurationFactory.java:1037)
> at org.apache.openejb.assembler.DeployerEjb.deploy(DeployerEjb.java:245)
> at org.apache.openejb.assembler.DeployerEjb.deploy(DeployerEjb.java:145)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
> 57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$
> Invocation.invoke(ReflectionInvocationContext.java:205)
> at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(
> ReflectionInvocationContext.java:186)
> at
> org.apache.openejb.security.internal.InternalSecurityInterceptor.invoke(
> InternalSecurityInterceptor.java:35)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
> 57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$
> Invocation.invoke(ReflectionInvocationContext.java:205)
> at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(
> ReflectionInvocationContext.java:186)
> at
> org.apache.openejb.monitoring.StatsInterceptor.record(
> StatsInterceptor.java:181)
> at
> org.apache.openejb.monitoring.StatsInterceptor.invoke(
> StatsInterceptor.java:100)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
> 57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$
> Invocation.invoke(ReflectionInvocationContext.java:205)
> at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(
> ReflectionInvocationContext.java:186)
> at
> org.apache.openejb.core.interceptor.InterceptorStack.
> invoke(InterceptorStack.java:85)
> at
> org.apache.openejb.core.singleton.SingletonContainer._
> invoke(SingletonContainer.java:272)
> at
> org.apache.openejb.core.singleton.SingletonContainer.
> invoke(SingletonContainer.java:221)
> at
> org.apache.openejb.server.ejbd.EjbRequestHandler.
> doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:371)
> at
> org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(
> EjbRequestHandler.java:182)
> at
> org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.
> java:360)
> at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:247)
> at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:104)
> at
> org.apache.openejb.server.httpd.ServerServlet.service(
> ServerServlet.java:60)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:231)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:166)
> at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:166)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(
> StandardWrapperValve.java:198)
> at
> org.apache.catalina.core.StandardContextValve.invoke(
> StandardContextValve.java:96)
> at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(
> AuthenticatorBase.java:595)
> at
> org.apache.catalina.core.StandardHostValve.invoke(
> StandardHostValve.java:140)
> at
> org.apache.tomee.catalina.OpenEJBSecurityListener$RequestCapturer.invoke(
> OpenEJBSecurityListener.java:97)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(
> ErrorReportValve.java:80)
> at
> org.apache.catalina.valves.AbstractAccessLogValve.invoke(
> AbstractAccessLogValve.java:650)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(
> StandardEngineValve.java:87)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(
> CoyoteAdapter.java:342)
> at
> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)
> at
> org.apache.coyote.AbstractProcessorLight.process(
> AbstractProcessorLight.java:66)
> at
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(
> AbstractProtocol.java:868)
> at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.
> doRun(NioEndpoint.java:1457)
> at
> org.apache.tomcat.util.net.SocketProcessorBase.run(
> SocketProcessorBase.java:49)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(
> ThreadPoolExecutor.java:1145)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(
> ThreadPoolExecutor.java:615)
> at
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(
> TaskThread.java:61)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.ClassNotFoundException:
> org/apache/openejb/arquillian/TestEjb.class
> at
> org.apache.xbean.finder.archive.FileArchive.getBytecode(FileArchive.java:
> 83)
> at
> org.apache.xbean.finder.archive.ArchiveIterator$1.
> getBytecode(ArchiveIterator.java:48)
> ... 67 more
>