본문 바로가기
SpringBoot/Error

jar에 기본 manifest 속성이 없습니다

by BAYABA 2021. 9. 27.
  1. 개인 공부 목적으로 작성한 글입니다.
  2. 아래 출처를 참고하여 작성하였습니다.

1. 오류 현상

  1. 아래처럼 pom.xml에 spring-boot-maven-plugin 속성을 추가하고도 jar를 단독으로 실행하면 "manifest 속성이 없습니다"는 오류가 나왔습니다.
# pom.xml(before)

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

$ java -jar ${PROJECT_NAME}.jar //ERROR: jar에 기본 manifest 속성이 없습니다

2. 해결 방법

  1. spring-boot-maven-plugin 속성에 repackage를 추가해주면 됩니다.
# 추가된 부분

<goal>repackage</goal>

# pom.xml(after)

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

  1. 그러면 이제 아래 명령어를 실행하면 executable jar이 실행됩니다.
$ java -jar ${PROJECT_NAME}.jar //SUCCESS

출처

  1. spring boot 기본 manifest 속성이 없습니다