maven 으로 executable jar 맨들기(maven-jar-plugin, maven-dependency-plugin 이용)
maven 2011. 10. 26. 17:55
일반 웹어플리케이션이 아닌 그냥 보통 일반 프로그램인 경우 maven packaging 타입을 war 가 아니라 jar 로 pom.xml 파일을 설정한다.
요래 설정한후 디펜던시들을 쪽쪽 추가하면서 후로그램을 맨들다 후로그램이 다 완성되었다면~~.
내가만든 후로그램과(Executable jar), 내 후로그램에서 사용한 라이브러리들을(디펜던시) 묶어서 패키징을 해야 한다.
요런 패키징을 위해서 프로젝트 pom.xml 의 build 엘리먼트를 요래 설정해 주면된다.
설명은 주석으로 대신함.
요래 해준다음 mvn clean package 를 뽓 실행시켜주면, deploy.target.dir 로 설정된 c:\myproject 폴더에 myprogram.jar 파일이 생성되고 c:\myproject\lib 폴더에 디펜던시들이 쪽 복사가 된다.
※ 요 jar 파일을 실행할려면
일반 자바후로그램인 경우 java -jar myprogram.jar 로
Swing이나 SWT 같은 GUI 후로그램인 경우 javaw -jar myprogram.jar 로 실행하면 된다.
요래 설정한후 디펜던시들을 쪽쪽 추가하면서 후로그램을 맨들다 후로그램이 다 완성되었다면~~.
내가만든 후로그램과(Executable jar), 내 후로그램에서 사용한 라이브러리들을(디펜던시) 묶어서 패키징을 해야 한다.
요런 패키징을 위해서 프로젝트 pom.xml 의 build 엘리먼트를 요래 설정해 주면된다.
설명은 주석으로 대신함.
<properties> <deploy.target.dir>c:/myproject</deploy.target.dir> <lib.dir>lib</lib.dir> <jar.name>myprogram</jar.name> </properties> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.3.2</version> <configuration> <finalName>${jar.name}</finalName> <!-- jar 파일이 생성될 폴더 --> <outputDirectory>${deploy.target.dir}</outputDirectory> <archive> <manifest> <!-- public static void main() 함수가 있는 클래스 지정 --> <mainClass>oasyss.Main</mainClass> <!-- jar 파일 META-INF/MANIFEST.MF 에 클래스패스 정보 추가 --> <addClasspath>true</addClasspath> <!-- 클래스패스에 추가시 prefix 설정 ex) log4j-1.2.16.jar -> lib/log4j-1.2.16.jar 로 추가됨 --> <classpathPrefix>${lib.dir}/</classpathPrefix> </manifest> </archive> </configuration> </plugin> <!-- package 실행할때 프로젝트 디펜던시들을 특정폴더로 복사해주게 설정 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.3</version> <executions> <execution> <id>copy-dependencies</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> </execution> </executions> <configuration> <outputDirectory>${deploy.target.dir}/${lib.dir}</outputDirectory> <overWriteIfNewer>true</overWriteIfNewer> </configuration> </plugin> </plugins> </build>
요래 해준다음 mvn clean package 를 뽓 실행시켜주면, deploy.target.dir 로 설정된 c:\myproject 폴더에 myprogram.jar 파일이 생성되고 c:\myproject\lib 폴더에 디펜던시들이 쪽 복사가 된다.
※ 요 jar 파일을 실행할려면
일반 자바후로그램인 경우 java -jar myprogram.jar 로
Swing이나 SWT 같은 GUI 후로그램인 경우 javaw -jar myprogram.jar 로 실행하면 된다.
2011/10/25 - [mybatis] - mybatis Oracle Procedure 호출하기
2011/10/24 - [쓸만한지식] - 모바일 페이지 작성시 가로,세로 모드에 따라 다른 css 파일 적용시키기
2011/10/24 - [쓸만한지식] - 네이버에서 제공해주는 PPT, DOC, HWP 서식(Template) 받자~
2011/10/23 - [maven] - Sonatype Nexus #2 : 설정 및 maven 과 연결하기
2011/10/23 - [maven] - Sonatype Nexus #1 : 톰캣에 설치하기
2011/10/18 - [mybatis] - mybatis 동적쿼리 조건문에 isEmpty, isNotEmpty 를 써보자.
2011/10/24 - [쓸만한지식] - 모바일 페이지 작성시 가로,세로 모드에 따라 다른 css 파일 적용시키기
2011/10/24 - [쓸만한지식] - 네이버에서 제공해주는 PPT, DOC, HWP 서식(Template) 받자~
2011/10/23 - [maven] - Sonatype Nexus #2 : 설정 및 maven 과 연결하기
2011/10/23 - [maven] - Sonatype Nexus #1 : 톰캣에 설치하기
2011/10/18 - [mybatis] - mybatis 동적쿼리 조건문에 isEmpty, isNotEmpty 를 써보자.
'maven' 카테고리의 다른 글
Sonatype Nexus #3 : 관리자 비밀번호를 까묵었을때 -_- 리셋하기 (0) | 2012.05.16 |
---|---|
Sonatype Nexus #2 : 설정 및 maven 과 연결하기 (4) | 2011.10.23 |
Sonatype Nexus #1 : 톰캣에 설치하기 (0) | 2011.10.23 |
이클립스 상에서 maven 을 이용해 원격서버로 배포하기 (3) | 2011.10.14 |
maven package goal 로 war나 jar 파일 생성시 생성되는 파일명 설정하기 (0) | 2011.10.13 |