복붙노트

[SPRING] java -jar을 실행하는 동안 Main-Class Manifest 속성을로드하지 못했습니다.

SPRING

java -jar을 실행하는 동안 Main-Class Manifest 속성을로드하지 못했습니다.

이 튜토리얼을 따라 mvn clean 패키지로 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

내가 놓친 게 있니?

해결법

  1. ==============================

    1.Spring Boot로 작업한다면, 이것은 당신의 문제를 해결할 것입니다 :

    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>
    

    참조 가이드 | 봄 부팅 Maven 플러그인

  2. ==============================

    2.Spring Boot Maven Plugin이 누락되었을 수 있습니다.

    Spring Boot Maven Plugin이 누락되었을 수 있습니다.

    <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
    
  3. ==============================

    3.pom.xml에 지정해야합니다. - jar 파일을 모든 종속 항목과 함께 실행 가능하게 만듭니다 (your.main.class 바꾸기).

    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>
    
  4. ==============================

    4.매니페스트 태그를 추가해야하는 maven-jar-plugin이 없습니다.

    매니페스트 태그를 추가해야하는 maven-jar-plugin이 없습니다.

  5. ==============================

    5.스프링 부트의 경우 META-INF 폴더에 MANIFEST.MF 파일을 만들었습니다.

    스프링 부트의 경우 META-INF 폴더에 MANIFEST.MF 파일을 만들었습니다.

    내 STS IDE에서 META-INFO 폴더를 src / main / resources 폴더에 넣었습니다. 이렇게 :

    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/
    

    있는 그대로 남아 있어야합니다. 위의 매니페스트는 "Mradul Pandey"가 언급 한 "spring-boot-maven-plugin"을 사용하여 만들어졌습니다 (9 월 2 일 15시 4 분 50 초 응답)

    희망이 도움이

  6. ==============================

    6.질서를 검사하다

    질서를 검사하다

    <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
    

    그것은 위에 있어야합니다.

    dockerfile-maven-plugin 다른 패키지가 다시 생성됩니다.

    이것은 매니 페스트에 주요 속성이 없다는 문제를 해결했습니다.

  7. from https://stackoverflow.com/questions/19620342/failed-to-load-main-class-manifest-attribute-while-running-java-jar by cc-by-sa and MIT license