AWS EC2 Java Spring Boot - Thread “main”

您好,我正在尝试在AWS EC2实例中运行Spring Boot,但我收到以下错误:


EC2 中的命令:java -jar app-dal-1.0-SNAPSHOT.jar


Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/boot/SpringApplication

        at com.smartcommunity.smartparking.appdal.BootApp.main(BootApp.java:12)

Caused by: java.lang.ClassNotFoundException: org.springframework.boot.SpringApplication

        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)

        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)

        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

        ... 1 more

在我的本地机器中一切正常。


本地 Java 版本“9.0.4” - EC2 Java 版本 1.8.0


弑天下
浏览 101回答 3
3回答

慕少森

当使用Spring Boot时,它需要在jar文件中有一个特殊的结构。spring-boot-maven-plugin确保在jar中创建此结构。它是专门设计和构建的,用于为基于Spring Boot的应用程序创建可执行jar文件。因此,不要显式添加和 ,而是用单个 .spring-boot-maven-plugin>maven-dependency-pluginmaven-jar-pluginspring-boot-maven-plugin<build>&nbsp; &nbsp; <plugins>&nbsp; &nbsp; &nbsp; &nbsp; <plugin>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <groupId>org.springframework.boot</groupId>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <artifactId>spring-boot-maven-plugin</artifactId>&nbsp; &nbsp; &nbsp; &nbsp; <plugin>&nbsp; &nbsp; </plugins></build>基本上这是你需要的。

有只小跳蛙

将pom.xml文件添加为配置插件之一可以解决问题。感谢所有发表评论的人,这个问题的解决方案以及解决方案的提出者都在评论中。谢谢@M德纳姆spring-boot-maven-plugin

呼如林

将输出 jar 文件从目标存储库复制到其他位置,并在本地计算机中执行它。如果您遇到任何问题,请告诉我。在这种情况下,我们应该将 pom 文件修改为生成的资源。对不起,由于我是新的贡献者,我不能在你的问题中评论你。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java