部署后的Vaadin 7问题:NoClassDefFoundError

我正在使用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 in annotation processing的消息为{0}。错误消息丢失。

我看了很多互联网上的文章。我没有遇到NoClassDefFoundError的潜在原因。我的jar文件是在构建后生成的。

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

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

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

jialinjl 回答:部署后的Vaadin 7问题:NoClassDefFoundError

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2824761.html

大家都在问