1

我们正在使用 apache camel 运行独立的 java 应用程序。我们已经在应用程序中嵌入了 haw.io,一切似乎都在工作。

当我们添加对 camel-http 的依赖时,hawtio 将不再启动。这些不兼容吗?

这是我们得到的例外:


2013-07-01 13:55:10,002 WARN  [Thread-5] - HawtioLoader.run (HawtioLoader.java:35) - hawt.io failed to run
java.lang.SecurityException: class "javax.servlet.FilterRegistration"'s signer information does not match signer information of other classes in the same package
at java.lang.ClassLoader.checkCerts(ClassLoader.java:806) ~[?:1.6.0_51]
at java.lang.ClassLoader.preDefineClass(ClassLoader.java:487) ~[?:1.6.0_51]
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:625) ~[?:1.6.0_51]
at java.lang.ClassLoader.defineClass(ClassLoader.java:615) ~[?:1.6.0_51]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) ~[?:1.6.0_51]
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) ~[?:1.6.0_51]
at java.net.URLClassLoader.access$000(URLClassLoader.java:58) ~[?:1.6.0_51]
at java.net.URLClassLoader$1.run(URLClassLoader.java:197) ~[?:1.6.0_51]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.6.0_51]
at java.net.URLClassLoader.findClass(URLClassLoader.java:190) ~[?:1.6.0_51]
at java.lang.ClassLoader.loadClass(ClassLoader.java:306) ~[?:1.6.0_51]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) ~[?:1.6.0_51]
at java.lang.ClassLoader.loadClass(ClassLoader.java:247) ~[?:1.6.0_51]
at org.eclipse.jetty.servlet.ServletContextHandler.<init>(ServletContextHandler.java:129) ~[jetty-webapp-8.1.3.v20120416.jar:8.1.3.v20120416]
at org.eclipse.jetty.servlet.ServletContextHandler.<init>(ServletContextHandler.java:109) ~[jetty-webapp-8.1.3.v20120416.jar:8.1.3.v20120416]
at org.eclipse.jetty.servlet.ServletContextHandler.<init>(ServletContextHandler.java:97) ~[jetty-webapp-8.1.3.v20120416.jar:8.1.3.v20120416]
at org.eclipse.jetty.webapp.WebAppContext.<init>(WebAppContext.java:171) ~[jetty-webapp-8.1.3.v20120416.jar:8.1.3.v20120416]
at io.hawt.embedded.Main.run(Main.java:56) ~[hawtio-embedded-1.1.jar:?]
at HawtioLoader.run(HawtioLoader.java:33) [classes/:?]
4

1 回答 1

2

我认为问题在于 hawt.io 和 camel-http 都将包含一些 javax 包。据我记得当我遇到这个问题时,解决方案是查看链接的依赖项(例如 Eclipse)并找到从两者链接的包。当您找到它们(可能是 javax.servlet-something)时,将它们从 camel-http 依赖项定义中排除,您的项目很可能会工作。

/S 拉文

于 2013-07-02T15:10:31.973 回答