[ https://issues.apache.org/jira/browse/CAMEL-7925?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14235402#comment-14235402 ]
Charles Moulliard commented on CAMEL-7925: ------------------------------------------ You will solve a part of the problem if you restrict the packages to be imported (as you propose). But as Groovy will generate class dynamically under the name script123456789, they will not be loaded and a classloading exception will take place for these classes. This is why until now, the trick to import dynamically everything. For sure, this is not a good thing as it breaks the OSGI modularity. > groovy and osgi - Could not initialize class script1413536396719697720774 > ------------------------------------------------------------------------- > > Key: CAMEL-7925 > URL: https://issues.apache.org/jira/browse/CAMEL-7925 > Project: Camel > Issue Type: Bug > Components: camel-groovy > Environment: Apache Karaf 2.2.x > Reporter: Charles Moulliard > Assignee: Charles Moulliard > Priority: Minor > > When a camel route is deployed on apache Karaf using a groovy expression to > be evaluated we get this error > https://gist.github.com/cmoulliard/7294122c47e9c18df399 > Route > {code} > from("direct:launch").routeId("request-token") > > .onException(HttpOperationFailedException.class) > .handled(true) > .log("An error occurred") > .to("direct:interface-status") > .end() > > .setHeader(Exchange.HTTP_URI, constant(wayneUriGetSession)) > .setHeader(Exchange.HTTP_QUERY, constant("User=" + UserName + > "&" + "Pass=" + Password)) > .setHeader(Exchange.HTTP_METHOD, constant("GET")) > > .to("https4://token-service") > .convertBodyTo(String.class) > .setHeader("token").groovy("body.replaceAll('\"','')") > {code} > {code} > Caused by: java.lang.NoClassDefFoundError: Could not initialize class > script1413536396719697720774 > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > Method)[:1.7.0_51] > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)[:1.7.0_51] > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)[:1.7.0_51] > at > java.lang.reflect.Constructor.newInstance(Constructor.java:526)[:1.7.0_51] > at java.lang.Class.newInstance(Class.java:374)[:1.7.0_51] > at > org.apache.camel.language.groovy.GroovyExpression.instantiateScript(GroovyExpression.java:71) > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)