无法在 AWS EC2 Linux 上找到或加载主要 java class jar
Could not find or load main java class jar on AWS EC2 Linux
我需要 运行 上 Linux
上 AWS EC2
我 jar
文件。
我在 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
因此,我对 Gradle
和 Spring-boot
版本感到棘手。
我做了什么让它起作用:
- 使用
Java 11
和 Spring Boot 2.5.8(SNAPSHOT)
在 start.spring.io 中创建了一个新项目。
- 将整个项目移至新项目。
- 我在
gradle clean
和gradle build
之前也用过2个命令。在我使用的工作版本中 gradlew clean build
.
- 并像往常一样在
Linux
启动了 jar
文件。
希望有一天能对某人有所帮助:)
我需要 运行 上 Linux
上 AWS EC2
我 jar
文件。
我在 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
因此,我对 Gradle
和 Spring-boot
版本感到棘手。
我做了什么让它起作用:
- 使用
Java 11
和Spring Boot 2.5.8(SNAPSHOT)
在 start.spring.io 中创建了一个新项目。 - 将整个项目移至新项目。
- 我在
gradle clean
和gradle build
之前也用过2个命令。在我使用的工作版本中gradlew clean build
. - 并像往常一样在
Linux
启动了jar
文件。
希望有一天能对某人有所帮助:)