[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openejb-user
Subject:    Re: ClassNotFoundException when deploying EAR with EJB module as directory
From:       Violeta Georgieva <violetagg () apache ! org>
Date:       2017-08-10 16:53:05
Message-ID: CAFmzfTUepWkrh+uzR_bST4ACTQ7R5ghwoUU0=G7Hysfn61u-Uw () mail ! gmail ! com
[Download RAW message or body]


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 <milesg78@gmail.com>:

> The same exception ...
> 
> 
> On Thu, Aug 10, 2017 at 5:52 PM Romain Manni-Bucau <rmannibucau@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 <violetagg@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
> > > 
> > 
> 



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic