메이븐으로 외부 라이브러리를 불러와서 프로그램을 만들고 jar파일을 실행시키려 하면 ".jar에 기본 manifest 속성이 없습니다." 라는 에러가 발생할 경우 아래와 같은 plugin을 추가하면 메이븐 빌드 시 artifactId+version+descriptorRef.jar 라는 이름으로 외부 라이브러리를 사용할수 있는 jar 파일이 하나 더 생성된다.

 

mainClass 태그 안에는 Main 클래스의 위치를 잡아준다. rootpath는 target/classes이다.

 

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>
                            fd27.Main
                        </mainClass>
                    </manifest>
                </archive>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
        </execution>
    </executions>
</plugin>

 

'java' 카테고리의 다른 글

java Quartz Scheduler 사용기록  (0) 2021.03.23

+ Recent posts