Maven을 JAR 파일을 패키징할떄 외부 *.jar 파일을 같이 패키징해야 할 때가 있습니다. Spring Boot의 경우 JAR 패키징시 lib에 *.jar 파일이 포함되도록 되어 있으며 Maven Dependency로 추가한 것들만 추가됩니다. 그러나 경우 따라서는 Maven Dependency가 아닌 외부 *.jar 파일을 추가해야 하는 경우가 있습니다. 

addjars Maven Plugin을 사용하기 위해서 빌드 플러그인으로 다음과 같이 추가합니다.

<plugin>
  <groupId>com.googlecode.addjars-maven-plugin</groupId>
  <artifactId>addjars-maven-plugin</artifactId>
  <version>1.0.5</version>
    <executions>
      <execution>
        <goals>
      <goal>add-jars</goal>
    </goals>
        <configuration>
              <resources>
            <resource>
              <directory>${basedir}/lib</directory>
              <includes>
                <include>**/*.jar</include>
              </includes>
            </resource>
            </resources>
          </configuration>
        </execution>
  </executions>
</plugin>

1 Comment

  1. Edward

    이 플러그인은 Hadoop 관련된 프로젝트를 할 때 다음의 목적으로 사용합니다.

    • Hadoop API를 호출해야 하는데
    • Hadoop JAR 파일에 Web Server (Jetty) 및 J2EE(Java SE) 표준 관련된 라이브러리를 포함하고 있음
    • 따라서 요즘 웹 애플리케이션을 개발하는 표준보다 너무 낮아서 서버가 실행되지 않는 문제가 발생함
    • 커스터마이징 해서 JAR 파일을 Spring Boot의 lib 에 넣고자 하는 경우

    또 이 플러그인은 다음의 일반적인 상황일때 사용할 수 있습니다.

    • Maven Repository에 JAR 파일이 없는 경우
    • JAR 파일이 Maven Artifact Type이 아니라서 Maven에서 사용할 수 없는 경우
    • 수동으로 JAR 파일을 같이 배포해야 하는 경우
    • 기타 등등