특정 폴더의 파일을 읽어서 DB로 INSERT하고 해당 파일은 backup 폴더로 이동시키는 프로그램을 작성하였다.
해당 프로젝트는 jar file로 만들어 linux cron 기능을 이용하여 매일 특정시간에 실행할 것이다.
maven 을 이용하여 jar file을 build 하는 방법을 정리하고자 한다.
pom.xml에 maven plugin 을 이용하여 적용할 option을 설정한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | <build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.3</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <finalName>crawlFile</finalName> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> <mainClass>crawl.file.main.FileToDBController</mainClass> </manifest> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy</id> <phase>install</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory> ${project.build.directory}/lib </outputDirectory> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.2.1</version> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <manifest> <addClasspath>true</addClasspath> <mainClass>crawl.file.main.FileToDBController</mainClass> </manifest> </archive> </configuration> </plugin> </plugins> </build> | cs |
mainClass 부분만 수정 적용하면 됨(main method 가 있는 클래스)
프로젝트 우클릭하여 Run As > Maven build
Goals 부분에 clean install (maven plugin option : https://maven.apache.org/plugins/index.html )
Goals 부분에 dependency:copy-dependencies 넣어서 run하면 library도 같이 포함되어 빌드됨
build가 성공하면 해당 프로젝트의 target 폴더에 jar file이 생성된다.(jar file name은 pom.xml의 finalName에서 설정가능
'Java' 카테고리의 다른 글
java applicaiton logback 설정 (0) | 2018.12.18 |
---|---|
[Java] maven java application(standalone) mybatis 연결하기 (0) | 2018.12.18 |
[Eclipse]java compiler level does not match the version of the installed java project facet (0) | 2018.01.13 |
Model1 vs Model2 (0) | 2017.07.20 |
try-with-resources (0) | 2017.05.17 |