'실행'에 해당되는 글 1건

  1. 2019.01.10 Maven 으로 실행가능한 jar 를 만들기 2

프로그램 실행시 작업을 수행하고 로그를 남길수 있도록 해본다.


컴파일러를 명확하게 지정하고 로그를 기록하기 위한 플러그인을 추가해 보도록 한다.


pom.xml 수정


1. 버전관리를 한곳에 모아 보기 좋도록 버전값을 속성화 한다. (root 아래)

<properties>
	<jdk.version>1.8</jdk.version>
	<log4j2.version>2.11.1</log4j2.version>
</properties>


2. logging 라이브러리 의존성 추가 (root 아래)

<dependencies>
	<dependency>
		<groupId>org.apache.logging.log4j</groupId>
		<artifactId>log4j-api</artifactId>
		<version>${log4j2.version}</version>
	</dependency>

	<dependency>
		<groupId>org.apache.logging.log4j</groupId>
		<artifactId>log4j-core</artifactId>
		<version>${log4j2.version}</version>
	</dependency>
</dependencies>


3. compile 플러그인 추가. (build > plugins 에 삽입)

<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-compiler-plugin</artifactId>
	<version>3.5.1</version>
	<configuration>
		<source>${jdk.version}
		<target>${jdk.version}</target>
	</configuration>
</plugin>


4. Maven build 실행 하면 jar 생성


jar 실행하여 확인.


java -classpath "printTime-1.0.0.jar;[경로]\log4j-api-2.11.1.jar;[경로]\log4j-core-2.11.1.jar" printTime.GetTime



현상태에서의 MANIFEST.MF 의 내용은 아래와 같다.

Manifest-Version: 1.0

Archiver-Version: Plexus Archiver

Built-By: macdev

Created-By: Apache Maven 3.3.9

Build-Jdk: 1.8.0_77

Main-Class: printTime.GetTime


폴더구조는 아래와 같다.





Posted by KENSIN
,