Maven 애플리케이션 패키징
Maven으로 Kotlin 애플리케이션을 패키징하려면, 표준 JAR 파일 또는 모든 의존성을 포함하는 독립형(self-contained, fat) JAR 파일을 생성할 수 있습니다. 애플리케이션을 패키징하면 Java 런타임 환경(JRE)이 설치된 모든 머신에서 이를 배포하고 실행할 수 있습니다.
JAR 파일 생성
모듈의 코드만 포함된 작은 JAR 파일을 생성하려면 Maven pom.xml 파일의 <build><plugins> 아래에 다음 내용을 포함하세요. 여기서 main.class는 속성으로 정의되며 메인 Kotlin 또는 Java 클래스를 가리킵니다.
xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.5.0</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>${main.class}</mainClass>
</manifest>
</archive>
</configuration>
</plugin>독립형 JAR 파일 생성
모듈의 코드와 의존성을 모두 포함하는 독립형(self-contained) JAR 파일을 생성하려면 Maven pom.xml 파일의 <build><plugins> 아래에 다음 내용을 포함하세요. 여기서 main.class는 속성으로 정의되며 메인 Kotlin 또는 Java 클래스를 가리킵니다.
xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.8.0</version>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals> <goal>single</goal> </goals>
<configuration>
<archive>
<manifest>
<mainClass>${main.class}</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</execution>
</executions>
</plugin>이 독립형 JAR 파일은 JRE에 직접 전달하여 애플리케이션을 실행할 수 있습니다.
java -jar target/mymodule-0.0.1-SNAPSHOT-jar-with-dependencies.jar