概要
「jar -jar hoge.jar」みたいな感じで実行できるjarを作成する方法です
packageのゴールを使って生成できるようにします
環境
- CentOS release 5.10 (Final)
- Maven 3.1.0
- maven-assembly-plugin 2.5.2
設定
pom.xml設定
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.5.2</version>
<configuration>
<finalName>App</finalName>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.kakakikikeke.sample.App</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal> <!-- goals == mojos -->
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
変更すべき箇所は<mainClass>
です
環境に合わせてパッケージ名から指定してください
<finalName>
で作成するJarのprefixを指定できます
また、上記のタグを<project>
タグの直下に記載してください
実行
mvn clean compile package
完了するとtarget
配下にtarget/App-jar-with-dependencies.jar
というjarファイルができていると思います
実行する場合は
java -jar target/App-jar-with-dependencies.jar
で実行してください
実行可能jarなので必要なライブラリやクラスファイルは全部jarの中に同梱されています
0 件のコメント:
コメントを投稿