java -jar를 실행하는 동안 Main-Class 매니페스트 속성을로드하지 못했습니다.
이 튜토리얼mvn clean package
에 따라 Spring MVC 프로젝트를 성공적으로 구축했습니다 .
이제 다음과 같이 서비스를 실행하려고합니다.
mvn clean package && java -jar target/gs-serving-web-content-0.1.0.jar
하지만이 오류가 발생합니다.
target / gs-serving-web-content-0.1.0.jar에서 Main-Class 매니페스트 속성을로드하지 못했습니다.
내가 뭔가를 놓치고 있습니까?
Spring Boot로 작업하는 경우 문제가 해결됩니다.
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.2.5.RELEASE</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
참조 가이드 | Spring Boot Maven 플러그인
Spring Boot Maven 플러그인이 누락되었을 수 있습니다.
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
pom.xml에서 지정해야합니다. 그러면 모든 종속성으로 jar를 실행 가능하게 만들 수 있습니다 ( your.main.class
).
<!-- setup jar manifest to executable with dependencies -->
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>your.main.class</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
태그 maven-jar-plugin
를 추가해야하는 부분 이 없습니다 manifest
.
순서를 확인하다
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
위에 있어야합니다
dockerfile-maven-plugin 그렇지 않으면 리 패키징이 발생합니다.
이것은 매니페스트에 주요 속성이 없다는 내 문제를 해결했습니다.
봄 부팅을 위해 META-INF 폴더 안에 MANIFEST.MF 파일을 만들었습니다 .
내 STS IDE에서 다음과 같이 src / main / resources 폴더 안에 META-INFO 폴더를 배치했습니다 .
MANIFEST.MF 파일의 내용 :
Manifest-Version: 1.0
Implementation-Title: bankim
Implementation-Version: 1.5.6.RELEASE
Archiver-Version: Plexus Archiver
Built-By: Yourname
Implementation-Vendor-Id: com.bankim
Spring-Boot-Version: 1.5.6.RELEASE
Implementation-Vendor: Pivotal Software, Inc.
Main-Class: org.springframework.boot.loader.JarLauncher
Start-Class: com.bankim.BankimApplication
Spring-Boot-Classes: BOOT-INF/classes/
Spring-Boot-Lib: BOOT-INF/lib/
Created-By: Apache Maven 3.3.9
Build-Jdk: 1.8.0_131
Implementation-URL: http://projects.spring.io/spring-boot/bankim/
- "bankim"/ "Bankim"에 대한 모든 언급은 내 프로젝트 이름을 나타내므로 프로젝트 이름으로 바꾸십시오.
- "Start-Class"값에 특히주의하십시오. 기본 메소드 가있는 클래스에 대한 "경로"를 포함해야합니다 .
- 행 : Main-Class : org.springframework.boot.loader.JarLaunchers는 그대로 두어야합니다.
**** 위 매니페스트는 "Mradul Pandey"가 위에서 언급 한 "spring-boot-maven-plugin"을 사용하여 생성되었습니다 (답변 : '15 년 9 월 2 일 4:50).
도움이 되었기를 바랍니다
나는 spring-boot-maven-plugin
있었지만 여전히 메인 클래스에 관한 오류가 발생했습니다.
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
마지막으로 나는를 사용 maven-jar-plugin
하고mainClass
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<mainClass>com.org.proj.App</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
그리고 가기 좋았습니다!
사용하다 spring-boot-maven-plugin
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
property start-class
pom.xml에서 설정했는지 확인하십시오.
<properties>
<!-- The main class to start by executing "java -jar" -->
<start-class>org.example.DemoApplication</start-class>
</properties>
또는 기본 클래스를 pom.xml의 플러그인 섹션에서 spring-boot-maven-plugin의 mainClass 요소로 정의 할 수 있습니다.
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
<configuration>
<classifier>spring-boot</classifier>
<mainClass>${start-class}</mainClass>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
'Nice programing' 카테고리의 다른 글
콘텐츠를 div 내에서 가로로 스크롤하도록 만들기 (0) | 2020.12.26 |
---|---|
객체에 액세스하기 전에 "if Assigned ()"를 사용하지 않는 이유는 무엇입니까? (0) | 2020.12.26 |
Angular에서 컨트롤이 생성 된 후 FormControl에 Validator를 추가하는 방법은 무엇입니까? (0) | 2020.12.26 |
Perl에서 문자열을 N 번 반복하려면 어떻게해야합니까? (0) | 2020.12.26 |
Scala의 "eval" (0) | 2020.12.26 |