在码头上部署gwt web应用程序

时间:2010-12-24 11:19:49

标签: gwt scala mongodb 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)

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

这是Web类加载器和系统类加载器之间的类加载问题。 您可能想要查看有关ClassLoader的精彩演讲。 http://www.zeroturnaround.com/blog/video-do-you-really-get-class-loaders-a-jazoon-talk-by-jevgeni-kabanov/

答案 2 :(得分:0)

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