Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 部署后的Vaadin 7问题:NoClassDefFoundError_Maven_Intellij Idea_Vaadin7_Payara_Glassfish 4.1 - Fatal编程技术网

Maven 部署后的Vaadin 7问题:NoClassDefFoundError

Maven 部署后的Vaadin 7问题:NoClassDefFoundError,maven,intellij-idea,vaadin7,payara,glassfish-4.1,Maven,Intellij Idea,Vaadin7,Payara,Glassfish 4.1,我在用IntelliJ运行Vaadin 7。我无法开发公司的项目,因为部署后出现了一个问题 IntelliJ中的服务器选项卡表示启动服务器并部署工件是成功的 Connected to the target VM, address: '127.0.0.1:9009', transport: 'socket' Connected to server [2020-01-03 01:33:16,250] Artifact CO:war exploded: Artifact is being deploy

我在用IntelliJ运行Vaadin 7。我无法开发公司的项目,因为部署后出现了一个问题

IntelliJ中的服务器选项卡表示启动服务器并部署工件是成功的

Connected to the target VM, address: '127.0.0.1:9009', transport: 'socket'
Connected to server
[2020-01-03 01:33:16,250] Artifact CO:war exploded: Artifact is being deployed, please wait...
[2020-01-03 01:33:18,006] Artifact CO:war exploded: Artifact is deployed successfully
[2020-01-03 01:33:18,006] Artifact CO:war exploded: Deploy took 1,756 milliseconds
然后IntelliJ导航到http://localhost:8080/company 在浏览器上。它显示“HTTP状态404-未找到”错误。控制台显示:

  Error in annotation processing: {0}.
java.lang.NoClassDefFoundError: com/vaadin/server/VaadinServlet
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at org.glassfish.web.loader.WebappClassLoader.findClass(WebappClassLoader.java:1089)
    at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1620)
    at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1501)
    at com.sun.enterprise.deployment.annotation.impl.ModuleScanner.getElements(ModuleScanner.java:295)
    at com.sun.enterprise.deployment.archivist.Archivist.processAnnotations(Archivist.java:592)
    at com.sun.enterprise.deployment.archivist.Archivist.readAnnotations(Archivist.java:461)
    at com.sun.enterprise.deployment.archivist.Archivist.readAnnotations(Archivist.java:445)
    at com.sun.enterprise.deployment.archivist.Archivist.readRestDeploymentDescriptors(Archivist.java:417)
    at com.sun.enterprise.deployment.archivist.Archivist.readDeploymentDescriptors(Archivist.java:394)
    at com.sun.enterprise.deployment.archivist.Archivist.open(Archivist.java:269)
    at com.sun.enterprise.deployment.archivist.Archivist.open(Archivist.java:278)
    at com.sun.enterprise.deployment.archivist.Archivist.open(Archivist.java:239)
    at com.sun.enterprise.deployment.archivist.ApplicationFactory.openArchive(ApplicationFactory.java:161)
    at org.glassfish.javaee.core.deployment.DolProvider.processDOL(DolProvider.java:199)
    at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:223)
    at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:91)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.loadDeployer(ApplicationLifecycle.java:882)
我们公司还没有升级到更高版本的Vaadin,升级Vaadin并不是解决我问题的一个选择。我可以向您展示一些可能很重要的文件摘录,例如pom.xml

资料摘要:

Vaadin 7.7.10
Payara Server 4.1.2.174 on local computer

IntelliJ IDEA 2019.3.1 (Ultimate Edition)
Build #IU-193.5662.53, built on December 18, 2019
Runtime version: 11.0.5+10-b520.17 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 10 10.0

java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)
如果您对可能导致此错误的原因有任何想法,请提供建议。我很感谢你的帮助


九个月后,这个问题又在我的电脑上发生了。我的错误消息以开头

  Error in annotation processing: {0}.
java.lang.NoClassDefFoundError: com/vaadin/server/VaadinServlet
注意注释处理中的错误
error
有一条消息
{0}
。错误消息丢失

我在网上看了很多文章。NoClassDefFoundError的潜在原因没有一个适用于我的案例。我的jar文件是在构建之后生成的

上次我通过重新安装Windows解决了这个问题。这次我尝试了一个不太严重的修复,重新安装IntelliJ和Payara服务器。我还删除并重新下载了我公司的GitHub项目完成这些操作后,我的构建再次开始工作。

重新安装IntelliJ就足够了,但我做了所有这些只是为了以防万一,因为我不确定是哪个软件导致了问题


我对此修复不完全满意,因为我仍然不了解问题的原因。

您看到了吗?验证您的工件配置以及所需的库是否存在。定义此类的地方必须有
vaadin-server-X.X.X.jar
库。vaadin库是与Payara服务器捆绑在一起的还是属于
.war
文件的一部分?能否另外添加您的
pom.xml
文件?谢谢您的建议。我将继续研究解决办法。这是我的pom.xml:在我看来,Vaadin库没有与服务器捆绑在一起,但它应该是我的
.war
-file文件的一部分当我查看文件夹
WEB-INF/lib
中的jar时,我记得我没有在那里看到
Vaadin-server-X.X.jar
!不幸的是,许多天的挫折一定让我付出了代价,这个细节从我的脑海中消失了。我匆忙决定重新安装windows。我重新开始了配置过程,遇到了以前从未遇到过的新问题,但我现在仍然在进步。希望我能很快继续工作。谢谢。在发表原始帖子9个月后,问题又开始出现了。在原始帖子中添加了更多信息。