Maven 을 이용하여 실행 가능한 Jar 파일을 만들어 보자.


게다가 Maven 에서 제공하는 Library 가 아닌 Local Library 를 추가 하는 방법 또한 메모하자.


1. 외부 라이브러리 추가하는 방법


우선, Local Library를 pom.xml 에 추가 하는 방법은 아래 코드를 넣어보자.


<repositories>

<repository>

<id>localrepository</id>

<url>file://${basedir}/lib</url>

</repository>

</repositories>


위의 url 태그 부분에 외부 Library 파일들이 있어야 되고 Dependency 로 추가하기 위해선 파일이 있는 경로를 groupId/artifactId/version/artifactId-version.jar 과 같이 해야 된다.


경로에 파일을 생성 한 뒤, Dependency 관련 정보를 아래와 같이 pom.xml 에 추가 한다. 

(직접 만든 rabbitmq library에 대한 예제. 경로는 "프로젝트 루트경로\lib\rabbitmq\rmq_queue\1.0.0\rmq_queue-1.0.0.jar" 이다.)


<dependencies>

......

<dependency>

<groupId>rabbitmq</groupId>

<artifactId>rmq_queue</artifactId>

<version>1.0.0</version>

</dependency>

......

</dependencies>



2. 실행 가능한 Jar 파일 만들기


실행 가능한 Jar 파일을 만들기 위해선 pom.xml 파일에 Build 태그를 넣어 Plugin들을 추가 한다.


 <build>

<plugins>

......

<plugin>

<artifactId>maven-compiler-plugin</artifactId>

<version>3.1</version>

<executions>

<execution>

<id>default-compile</id>

<phase>compile</phase>

<goals>

<goal>compile</goal>

</goals>

<configuration>

<encoding>UTF-8</encoding>

</configuration>

</execution>

<execution>

<id>default-testCompile</id>

<phase>test-compile</phase>

<goals>

<goal>testCompile</goal>

</goals>

<configuration>

<encoding>UTF-8</encoding>

</configuration>

</execution>

</executions>

<configuration>

<encoding>UTF-8</encoding>

</configuration>

</plugin>

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-shade-plugin</artifactId>

<version>2.4.3</version>

<executions>

<execution>

<phase>package</phase>

<goals>

<goal>shade</goal>

</goals>

<configuration>

<!-- XML schema namespaces 오류 수정을 위해 필요함 -->

<transformers>

<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">

<resource>META-INF/spring.handlers</resource>

</transformer>

<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">

<resource>META-INF/spring.schemas</resource>

</transformer>

<!-- 실행 가능한 jar 파일을 만들기 위해서는 main method가 존재하는 클래스를 명시해 주어야 함 -->

<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">

<manifestEntries>

<Main-Class>com.metadataCollector.metadataCollectorMain</Main-Class>

</manifestEntries>

</transformer>

    </transformers>

<!-- Dependency Reduced Pom 파일 미생성 -->

    <createDependencyReducedPom>false</createDependencyReducedPom>

</configuration>

</execution>

</executions>

</plugin>

......

</plugins>

</build>


추가 할때 Main-Class 이름을 넣어 준다. 


위와 같이 모든 준비 작업을 완료하고 mvn package 명령어로 실행가능한 jar 파일을 생성한다.


간단하게 작성했지만... 부족한 부분이 있으면 수정해야지.... 

반응형

전문연구요원 국외여행 허가 관련 신청 방법 링크!

http://harryp.tistory.com/230


반응형

신난다 첫글이다!!! 뭐 올릴지 고민해보자....

반응형

+ Recent posts