I need to run on Linux
on AWS EC2
me jar
file.
I have a multi-project
on Gradle
.
I know that there are many analogs of my problem, but I did not find anything with the multi-project
.
The structure of my project is as follows
demo -core com.example build.gradle -web build.gradle com.example DemoApplication.java(main) build.gradle
My build.gradle
in demo.
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() }
When I execute the command jar
, I get jar
file that I run on Linux
java -jar '/home/ec2-user/demo-0.0.1-SNAPSHOT-plain.jar'
and it gives me an error.
Could not find or load main class com.example.DemoApplication
Advertisement
Answer
As a result, I tricky with the Gradle
and Spring-boot
versions.
What did I do to make it work:
- Created a new project in start.spring.io with
Java 11
andSpring Boot 2.5.8(SNAPSHOT)
. - Moved the whole project to a new one.
- I also used 2 commands before
gradle clean
andgradle build
. And in the working version I usedgradlew clean build
. - And launched the
jar
file inLinux
as usual.
Hope it helps someone someday 🙂