[forge-dev] forge classloading

William DeCoste wdecoste at redhat.com
Wed May 8 13:54:44 EDT 2013


Yep, been talking on IRC. Looks like it's fixed. Once 1.3.0 is out I'll 
upgrade the plugin to use the latest java client and we should be good 
to go.

Thanks -Bill

On 5/8/13 10:20 AM, Lincoln Baxter wrote:
> I think George has found the fix for this, and fortunately we are about to do a 1.3.0 release, next Wednesday, that will include this fix.
> Until then, if you want to build a local SNAPSHOT of Forge from sources, you can verify if this problem has been resolved for you -https://github.com/forge/core
>
> Could you let us know if that gives you better results?
>
> You can skip the tests and just run a quick build via: "mvn clean install -DskipTests=true"
>
> Then install the distribution zipfile from: core/dist/target/forge-distribution-1.3.0-SNAPSHOT.zip
>
> Just like you would a downloaded distribution fromhttp://forge.jboss.org
>
> ~Lincoln
>
> ----- Original Message -----
> From: "William DeCoste"<wdecoste at redhat.com>
> To: "Lincoln Baxter"<lbaxter at redhat.com>
> Cc: "forge-dev List"<forge-dev at lists.jboss.org>
> Sent: Wednesday, May 8, 2013 12:10:26 PM
> Subject: Re: forge classloading
>
> Ya :-(
>
> I reverted back to the 2.0.1 java client but we're going to need to move
> to the latest at some point.
>
> On 5/8/13 9:06 AM, Lincoln Baxter wrote:
>> Hey Bill,
>>
>> Eek. This looks like a rough one. We don't have the cleanest classpath isolation (and permission) in Forge 1 :/
>>
>> In order to get this to work, it might require debugging, and a good amount of tinkering in the core container modules configurations.
>>
>> George or I can work on this with you.
>>
>> (copying forge-dev)
>>
>> ----- Original Message -----
>> From: "William DeCoste"<wdecoste at redhat.com>
>> To: "Lincoln Baxter"<lbaxter at redhat.com>
>> Sent: Wednesday, May 8, 2013 11:48:05 AM
>> Subject: forge classloading
>>
>> Hi Lincoln
>>
>> Ran into an interesting classloading problem when trying to upgrade to
>> the latest openshift-java-client. Exception is below. The new client
>> uses javax.xml.bind.DatatypeConverter which is part of the JDK. But
>> Forge is blowing up trying to find this class in modules. Any ideas?
>>
>> Thanks -Bill
>>
>> [forge-openshift-demo] forge-openshift-demo $ rhc setup --app forgedemo
>> ***INFO*** Loaded OpenShift configuration from
>> /home/bdecoste/.openshift/express.conf
>> ***INFO*** UsingRHLOGIN:bdecoste32f at gmail.com  for
>> https://ec2-54-224-225-19.compute-1.amazonaws.com
>>     ? Enter your Red Hat Openshift password: ******
>> log4j:WARN No appenders could be found for logger
>> (com.openshift.internal.client.RestService).
>> log4j:WARN Please initialize the log4j system properly.
>> log4j:WARN Seehttp://logging.apache.org/log4j/1.2/faq.html#noconfig  for
>> more info.
>> javax.enterprise.event.ObserverException
>>        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>> Method)
>>        at
>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
>>        at
>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>>        at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
>>        at java.lang.Class.newInstance0(Class.java:374)
>>        at java.lang.Class.newInstance(Class.java:327)
>>        at
>> org.jboss.weld.util.reflection.SecureReflections$16.work(SecureReflections.java:395)
>>        at
>> org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)
>>        at
>> org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInstantiation(SecureReflectionAccess.java:216)
>>        at
>> org.jboss.weld.util.reflection.SecureReflections.newInstance(SecureReflections.java:390)
>>        at
>> org.jboss.weld.injection.Exceptions.rethrowException(Exceptions.java:40)
>>        at
>> org.jboss.weld.injection.Exceptions.rethrowException(Exceptions.java:92)
>>        at
>> org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:214)
>>        at
>> org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:282)
>>        at
>> org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:265)
>>        at
>> org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:234)
>>        at
>> org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImpl.java:635)
>>        at
>> org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:628)
>>        at org.jboss.weld.event.EventImpl.fire(EventImpl.java:75)
>>        at
>> com.redhat.openshift.forge.OpenShiftPlugin.setup(OpenShiftPlugin.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:601)
>>        at org.jboss.forge.shell.command.Execution.perform(Execution.java:134)
>>        at
>> org.jboss.forge.shell.command.fshparser.FSHRuntime.run(FSHRuntime.java:109)
>>        at
>> org.jboss.forge.shell.command.fshparser.FSHRuntime.run(FSHRuntime.java:47)
>>        at
>> org.jboss.forge.shell.ShellImpl$ExecutorThread.run(ShellImpl.java:789)
>>        at org.jboss.forge.shell.ShellImpl.execute(ShellImpl.java:812)
>>        at org.jboss.forge.shell.ShellImpl.doShell(ShellImpl.java:602)
>>        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:601)
>>        at
>> org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:48)
>>        at
>> org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:125)
>>        at
>> org.jboss.forge.shell.ShellImpl$Proxy$_$$_WeldClientProxy.doShell(ShellImpl$Proxy$_$$_WeldClientProxy.java)
>>        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:601)
>>        at
>> org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305)
>>        at
>> org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)
>>        at
>> org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163)
>>        at
>> org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299)
>>        at
>> org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:188)
>>        at
>> org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:59)
>>        at
>> org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:198)
>>        at
>> org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:282)
>>        at
>> org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:265)
>>        at
>> org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:234)
>>        at
>> org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImpl.java:635)
>>        at
>> org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:622)
>>        at
>> org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:616)
>>        at org.jboss.forge.shell.Bootstrap$1.run(Bootstrap.java:172)
>>        at java.lang.Thread.run(Thread.java:722)
>> Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
>>        at com.openshift.client.utils.Base64Coder.encode(Base64Coder.java:42)
>>        at
>> com.openshift.internal.client.httpclient.UrlConnectionHttpClient.setAuthorisation(UrlConnectionHttpClient.java:300)
>>        at
>> com.openshift.internal.client.httpclient.UrlConnectionHttpClient.createConnection(UrlConnectionHttpClient.java:253)
>>        at
>> com.openshift.internal.client.httpclient.UrlConnectionHttpClient.get(UrlConnectionHttpClient.java:99)
>>        at
>> com.openshift.internal.client.RestService.request(RestService.java:144)
>>        at
>> com.openshift.internal.client.RestService.request(RestService.java:98)
>>        at
>> com.openshift.internal.client.RestService.request(RestService.java:91)
>>        at
>> com.openshift.internal.client.RestService.request(RestService.java:72)
>>        at
>> com.openshift.internal.client.AbstractOpenShiftConnectionFactory.getConnection(AbstractOpenShiftConnectionFactory.java:34)
>>        at
>> com.openshift.client.OpenShiftConnectionFactory.getConnection(OpenShiftConnectionFactory.java:134)
>>        at
>> com.openshift.client.OpenShiftConnectionFactory.getConnection(OpenShiftConnectionFactory.java:103)
>>        at
>> com.redhat.openshift.core.OpenShiftServiceFactory.create(OpenShiftServiceFactory.java:17)
>>        at
>> com.redhat.openshift.forge.OpenShiftFacet.internalInstall(OpenShiftFacet.java:101)
>>        at
>> com.redhat.openshift.forge.OpenShiftFacet.install(OpenShiftFacet.java:81)
>>        at
>> org.jboss.forge.project.BaseProject.performInstallation(BaseProject.java:240)
>>        at
>> org.jboss.forge.project.BaseProject.installFacet(BaseProject.java:166)
>>        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:601)
>>        at
>> org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:48)
>>        at
>> org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:125)
>>        at
>> org.jboss.weld.proxies.Project$-1946286523$Proxy$_$$_WeldClientProxy.installFacet(Project$-1946286523$Proxy$_$$_WeldClientProxy.java)
>>        at
>> org.jboss.forge.shell.project.FacetInstallationHandler.performInstallation(FacetInstallationHandler.java:105)
>>        at
>> org.jboss.forge.shell.project.FacetInstallationHandler.install(FacetInstallationHandler.java:81)
>>        at
>> org.jboss.forge.shell.project.FacetInstallationHandler.installRequest(FacetInstallationHandler.java:59)
>>        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:601)
>>        at
>> org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305)
>>        at
>> org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)
>>        at
>> org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163)
>>        at
>> org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299)
>>        at
>> org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:188)
>>        at
>> org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:59)
>>        at
>> org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:198)
>>        ... 43 more
>> Caused by: java.lang.ClassNotFoundException:
>> javax.xml.bind.DatatypeConverter from [Module
>> "com.redhat.openshift.forge-openshift-plugin.dependencies:1.0.6.Final-df164dee-c6e5-4ad4-a61d-a5f5ae16aa32"
>> from local module loader @1f9805f (roots:
>> /home/bdecoste/OpenShift/forge-distribution-1.2.1.Final/modules,/home/bdecoste/.forge/plugins,/home/bdecoste/workspaces/OpenShift/forge)]
>>        at
>> org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
>>        at
>> org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
>>        at
>> org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
>>        at
>> org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
>>        at
>> org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
>>        ... 80 more
>>

-- 
Bill DeCoste
Principal Software Engineer, Red Hat
978-204-0920
wdecoste at redhat.com



More information about the forge-dev mailing list