我在 eclipse 中创建了一个新的 Vaadin (6.6.5) 项目,并尝试将其部署在 JBoss 7.0 上,但它给了我一个 GWT ClassNotFoundException
Caused by: java.lang.ClassNotFoundException: com.google.gwt.user.client.ui.HasWidgets from [Module "deployment.test.war:main" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:191)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:358)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:330)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:330)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:307)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:101)
... 64 more
我需要做一些额外的事情来部署 gwt 库吗?
最佳答案
似乎 JBoss7 不必要地加载了编译 Vaadin 客户端小部件集所需的 gwt-user.jar 中的一些 GWT 类。
vaadin.jar 包含对 gwt-user.jar 的引用,但在运行时不需要,仅在 widgetset 编译时需要。 JBoss 仍然想要加载这些导致问题的类。
JBoss 中有一个关于此问题的错误报告:http://community.jboss.org/thread/169575?tstart=0
正如那里提到的,解决方法是将 gwt-user.jar 与 vaadin.jar 一起包含到 WEB-INF/lib 文件夹中的部署包中,似乎可行。
关于eclipse - 将 vaadin 部署到 JBoss 7.0 出现 ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7189102/