[
https://issues.apache.org/jira/browse/CAMEL-3533?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Willem Jiang reassigned CAMEL-3533:
-----------------------------------
Assignee: Willem Jiang
> classpath problem with camel:dot and provided dependencies
> ----------------------------------------------------------
>
> Key: CAMEL-3533
> URL: https://issues.apache.org/jira/browse/CAMEL-3533
> Project: Camel
> Issue Type: Improvement
> Components: tooling
> Affects Versions: 2.5.0
> Environment: Running on linux, jdk 1.6. Looks irrelevant.
> Reporter: Pablo Gra\~na
> Assignee: Willem Jiang
> Attachments: depends_on_test_classpath.txt
>
>
> camel:dot in is failing with a class not found exception when the application
> context instantiates a class in a jar with provided scope.
> If in your maven project you have:
> <dependency>
> <groupId>javax.servlet</groupId>
> <artifactId>servlet-api</artifactId>
> <version>2.5</version>
> <scope>provided</scope>
> </dependency>
> and in your application context there is, for example, a subclass of
> ServletContextListener, mvn camel:dot fails with:
> ...
> Caused by: java.lang.ClassNotFoundException:
> javax.servlet.ServletContextListener
> at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
> ... 92 more
> If you change it to:
> <dependency>
> <groupId>javax.servlet</groupId>
> <artifactId>servlet-api</artifactId>
> <version>2.5</version>
> <scope>compile</scope>
> </dependency>
> then camel-maven-plugin correctly generates the output. The fact is
> that the servlet-api jar must not be included in the final war.
> I don't know the correct way to fix this. One option would be to add the
> includePluginDependencies option in the plugin and add the provided jars as
> runtime dependencies of the plugin.
> The other, very easy to implement, option would be to change the
> requiresDependencyResolution from runtime to test.
> The third option would be to make the requiresDependencyResolution
> configurable.
> Attached is a patch for the 2nd option (lazy me).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.