在jetty上部署gwt web应用程序

在jetty上部署gwt web应用程序,gwt,scala,mongodb,jetty,Gwt,Scala,Mongodb,Jetty,您好,我正在jetty上部署用Gwt创建的web应用程序。 我使用mongodb作为我的数据库。启动服务器后,它开始部署weapp.war 并给出如下误差- 694 [main] INFO org.mortbay.log - Extract /usr/share/jetty/webapps/myapp.war to /tmp/Jetty_0_0_0_0_8090_myapp.war__myapp__n6yltk/webapp 3567 [main] WARN org.mortbay.log -

您好,我正在jetty上部署用Gwt创建的web应用程序。 我使用mongodb作为我的数据库。启动服务器后,它开始部署weapp.war 并给出如下误差-

694 [main] INFO org.mortbay.log - Extract /usr/share/jetty/webapps/myapp.war to /tmp/Jetty_0_0_0_0_8090_myapp.war__myapp__n6yltk/webapp
3567 [main] WARN org.mortbay.log - failed Startup: java.lang.LinkageError: loader constraint violation: loader (instance of org/mortbay/jetty/webapp/WebAppClassLoader) previously initiated loading for a different type with name "javax/management/MBeanServer"
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:392)
    at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:363)
    at com.mongodb.DBPortPool$Holder.get(DBPortPool.java:58)
    at com.mongodb.DBTCPConnector._set(DBTCPConnector.java:458)
    at com.mongodb.DBTCPConnector.<init>(DBTCPConnector.java:46)
    at com.mongodb.Mongo.<init>(Mongo.java:137)
    at com.mongodb.Mongo.<init>(Mongo.java:123)
694[main]INFO org.mortbay.log-Extract/usr/share/jetty/webapps/myapp.war to/tmp/jetty\u 0\u 0\u 8090\u myapp.war\u myapp\u n6yltk/webapp
3567[main]WARN org.mortbay.log-启动失败:java.lang.LinkageError:加载程序约束冲突:加载程序(org/mortbay/jetty/webapp/WebAppClassLoader的实例)以前启动了名为“javax/management/MBeanServer”的其他类型的加载
位于java.lang.ClassLoader.defineClass1(本机方法)
位于java.lang.ClassLoader.defineClass(ClassLoader.java:634)
位于java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
位于java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
在java.net.URLClassLoader.access$000(URLClassLoader.java:73)
在java.net.URLClassLoader$1.run(URLClassLoader.java:212)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.net.URLClassLoader.findClass(URLClassLoader.java:205)
位于org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:392)
位于org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:363)
位于com.mongodb.DBPortPool$Holder.get(DBPortPool.java:58)
位于com.mongodb.DBTCPConnector.\u集(DBTCPConnector.java:458)
位于com.mongodb.DBTCPConnector。(DBTCPConnector.java:46)
位于com.mongodb.Mongo(Mongo.java:137)
位于com.mongodb.Mongo(Mongo.java:123)

类路径中的一个jar包含javax/management/MBeanServer。这就是为什么你有这个例外。例如jboss-jmx.jar包含这个类,如果这个jar包含在您的类路径中,您应该删除它

这是web类装入器和系统类装入器之间的类装入问题。 您可能想看看这篇关于ClassLoader的精彩演讲。

检查pom.xml中是否存在log4j依赖项。log4j依赖于jmxri,需要排除它。
排除此项后,错误将得到解决

嘿,谢谢您的回复。我的类路径包含gwt-dev.jar,删除它后,我能够成功部署webapp。谢谢!!!!找到包含javax/management/MBeanServer的jar文件了吗。