无法在 AWS EC2 Linux 上找到或加载主要 java class jar

Could not find or load main java class jar on AWS EC2 Linux

我需要 运行 上 LinuxAWS EC2jar 文件。 我在 Gradle 上有一个 multi-project。 我知道我的问题有很多类似的问题,但我没有找到 multi-project.

的任何内容

我的项目结构如下

demo
   -core
       com.example
       build.gradle
   -web
       build.gradle
       com.example
          DemoApplication.java(main)
   build.gradle

我的 build.gradle 在演示中。

plugins {
    id 'org.springframework.boot' version '2.6.1'
    id 'io.spring.dependency-management' version '1.0.11.RELEASE'
    id 'java'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

jar {
    manifest {
        attributes 'Main-class' : 'com.example.DemoApplication'
    }
}


configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-jdbc'
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-data-ldap'
    implementation 'org.springframework.boot:spring-boot-starter-hateoas'
    implementation 'org.springframework.boot:spring-boot-starter-oauth2-client'
    implementation 'org.springframework.boot:spring-boot-starter-oauth2-resource-server'
    implementation 'org.springframework.boot:spring-boot-starter-security'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    compileOnly 'org.projectlombok:lombok'
    developmentOnly 'org.springframework.boot:spring-boot-devtools'
    runtimeOnly 'mysql:mysql-connector-java'
    runtimeOnly 'org.postgresql:postgresql'
    annotationProcessor 'org.projectlombok:lombok'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    testImplementation 'org.springframework.security:spring-security-test'
}

test {
    useJUnitPlatform()
}

当我执行命令 jar 时,我得到 jar 我在 Linux java -jar '/home/ec2-user/demo-0.0.1-SNAPSHOT-plain.jar' 上 运行 的文件,它给我一个错误。

Could not find or load main class com.example.DemoApplication

因此,我对 GradleSpring-boot 版本感到棘手。 我做了什么让它起作用:

  1. 使用 Java 11Spring Boot 2.5.8(SNAPSHOT)start.spring.io 中创建了一个新项目。
  2. 将整个项目移至新项目。
  3. 我在gradle cleangradle build之前也用过2个命令。在我使用的工作版本中 gradlew clean build.
  4. 并像往常一样在 Linux 启动了 jar 文件。

希望有一天能对某人有所帮助:)