You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@karaf.apache.org by Benson Margulies <be...@basistech.com> on 2016/08/15 14:34:27 UTC
How do mvn: urls end up in classpaths in Karaf 4.0.5?
Folks,
I just upgraded my build to use pax-exam 4.9.1. And I got a very
strange problem.
If I run a single function test method:
mvn -Dit.test=com.basistech.ws.itest.AnvilsRealComponentIT"#complexEntityRouting"
my code dies, because an mvn: URL leaks out.
This happens when Guice is referencing one of its classes, and the
class load fails.
org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm
throws an IllegalStateException due to getting an mvn: URL as the
class source location. Does anyone have any clues as to what to look
at here?
java.lang.Thread.State: RUNNABLE
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:482)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:474)
at java.net.URL.toExternalForm(URL.java:922)
at java.net.URL.toString(URL.java:908)
at java.lang.ClassLoader.defineClassSourceLocation(ClassLoader.java:675)
at java.lang.ClassLoader.defineClass(ClassLoader.java:759)
at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.defineClass(BundleWiringImpl.java:2370)
at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2154)
at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1542)
at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79)
at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2018)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:166)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
- locked <0x2409> (a com.google.inject.internal.InheritingState)
at com.google.inject.Guice.createInjector(Guice.java:96)
at com.google.inject.Guice.createInjector(Guice.java:73)
at com.google.inject.Guice.createInjector(Guice.java:62)
at com.basistech.rosette.relax.RelationshipAnnotatorFactory.initializeInternal(RelationshipAnnotatorFactory.java:130)
- locked <0x23da> (a com.basistech.rosette.relax.RelationshipAnnotatorFactory)
at com.basistech.rosette.relax.RelationshipAnnotatorFactory.initialize(RelationshipAnnotatorFactory.java:111)
at com.basistech.relax.osgi.impl.RelaxComponentService$Factory.<init>(RelaxComponentService.java:121)
at com.basistech.relax.osgi.impl.RelaxComponentService.createFactory(RelaxComponentService.java:85)
at com.basistech.rosette.osgi.util.AbstractComponentService.createFactory(AbstractComponentService.java:47)
at com.basistech.ws.worker.api.AbstractWorkerDocumentComponentService.configureOneFactory(AbstractWorkerDocumentComponentService.java:82)
at com.basistech.ws.worker.api.AbstractWorkerDocumentComponentService.init(AbstractWorkerDocumentComponentService.java:57)
at com.basistech.ws.worker.core.Worker.configureComponent(Worker.java:223)
at com.basistech.ws.worker.core.Worker.lambda$activate$12(Worker.java:179)
a
Re: How do mvn: urls end up in classpaths in Karaf 4.0.5?
Posted by Benson Margulies <be...@basistech.com>.
One other factoid:
When I don't use "#methodname" to select a method, I do see a few of
these IllegalStateExceptions go by for things like configadmin and
sshd. They don't even result in log traffic. When I use the #, that
adds a guice jar file, and the result is a fail.
On Mon, Aug 15, 2016 at 10:34 AM, Benson Margulies <be...@basistech.com> wrote:
> Folks,
>
> I just upgraded my build to use pax-exam 4.9.1. And I got a very
> strange problem.
>
> If I run a single function test method:
>
> mvn -Dit.test=com.basistech.ws.itest.AnvilsRealComponentIT"#complexEntityRouting"
>
> my code dies, because an mvn: URL leaks out.
>
> This happens when Guice is referencing one of its classes, and the
> class load fails.
>
> org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm
> throws an IllegalStateException due to getting an mvn: URL as the
> class source location. Does anyone have any clues as to what to look
> at here?
>
>
> java.lang.Thread.State: RUNNABLE
> at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:482)
> at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:474)
> at java.net.URL.toExternalForm(URL.java:922)
> at java.net.URL.toString(URL.java:908)
> at java.lang.ClassLoader.defineClassSourceLocation(ClassLoader.java:675)
> at java.lang.ClassLoader.defineClass(ClassLoader.java:759)
> at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.defineClass(BundleWiringImpl.java:2370)
> at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2154)
> at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1542)
> at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79)
> at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2018)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:166)
> at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
> - locked <0x2409> (a com.google.inject.internal.InheritingState)
> at com.google.inject.Guice.createInjector(Guice.java:96)
> at com.google.inject.Guice.createInjector(Guice.java:73)
> at com.google.inject.Guice.createInjector(Guice.java:62)
> at com.basistech.rosette.relax.RelationshipAnnotatorFactory.initializeInternal(RelationshipAnnotatorFactory.java:130)
> - locked <0x23da> (a com.basistech.rosette.relax.RelationshipAnnotatorFactory)
> at com.basistech.rosette.relax.RelationshipAnnotatorFactory.initialize(RelationshipAnnotatorFactory.java:111)
> at com.basistech.relax.osgi.impl.RelaxComponentService$Factory.<init>(RelaxComponentService.java:121)
> at com.basistech.relax.osgi.impl.RelaxComponentService.createFactory(RelaxComponentService.java:85)
> at com.basistech.rosette.osgi.util.AbstractComponentService.createFactory(AbstractComponentService.java:47)
> at com.basistech.ws.worker.api.AbstractWorkerDocumentComponentService.configureOneFactory(AbstractWorkerDocumentComponentService.java:82)
> at com.basistech.ws.worker.api.AbstractWorkerDocumentComponentService.init(AbstractWorkerDocumentComponentService.java:57)
> at com.basistech.ws.worker.core.Worker.configureComponent(Worker.java:223)
> at com.basistech.ws.worker.core.Worker.lambda$activate$12(Worker.java:179)
> a