AWS EC2 Java Spring Boot - 线程“主

您好,我正在尝试在 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


pom.xml


    <?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>


    <groupId>com.smartcommunity.smartparking</groupId>

    <artifactId>app-dal</artifactId>

    <version>1.0-SNAPSHOT</version>

    <packaging>jar</packaging>




    <parent>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-parent</artifactId>

        <version>2.0.4.RELEASE</version>

    </parent>


    <dependencies>

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-web</artifactId>

            <version>2.0.4.RELEASE</version>

        </dependency>

        <dependency>

            <groupId>org.apache.httpcomponents</groupId>

            <artifactId>httpcore</artifactId>

            <version>4.3</version>

        </dependency>


我正在遵循的步骤,使用 IntelliJ Maven 生命周期:

  • Maven 清洁

  • Maven编译

  • Maven 包

  • Maven 安装


沧海一幻觉
浏览 193回答 3
3回答

SMILET

使用 Spring Boot 时,它需要 jar 文件中的特殊结构。spring-boot-maven-plugin确保在 jar 中创建此结构。spring-boot-maven-plugin专为基于 Spring Boot 的应用程序创建可执行 jar 文件而设计和构建。因此,不要显式添加>maven-dependency-pluginand maven-jar-plugin,而是用单个spring-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>基本上这就是你所需要的。

汪汪一只猫

添加spring-boot-maven-pluginpom.xml 文件作为配置插件之一就可以了。感谢所有评论的人,这个问题的解决方案以及解决方案的人都在评论中。谢谢@M。迪南

三国纷争

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

相关分类

Java