Mavenでマニフェストファイルを作成する方法
このチュートリアルでは、 `maven-jar-plugin`を使用してマニフェストファイルを作成し、最終的なjarファイルにパッケージ化/追加する方法を説明します。マニフェストファイルは通常、次のタスクを定義するために使用されます。
-
アプリケーションのエントリポイントを定義し、Jarを実行可能にします.
-
プロジェクト依存クラスパスを追加します.
mvn package`コマンドを実行してプロジェクトをJarにパッケージングすると、次の
meta-inf/manifest.mf`ファイルが生成され、最終的なJarファイルに自動的に追加されます。
meta-inf/manifest.mf
Manifest-Version: 1.0 Built-By: ${user.name} Build-Jdk: ${java.version} Created-By: Apache Maven Archiver-Version: Plexus Archiver
1. Jarを実行可能にする
pom.xml`に
maven-jar-plugin`を定義し、マニフェストファイルを設定タグで設定します。
pom.xml
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.4</version> <configuration> <archive> <manifest> <mainClass>com.mkyong.core.App</mainClass> </manifest> </archive> </configuration> </plugin>
次のマニフェストファイルが生成されます。このJARを実行すると、 `com.mkyong.core.App`が実行されます。
meta-inf/manifest.mf
anifest-Version: 1.0 Built-By: mkyong Build-Jdk: 1.6.0__35 Created-By: Apache Maven Main-Class: com.mkyong.core.App Archiver-Version: Plexus Archiver
2.プロジェクト依存クラスパスを追加します.
ほとんどのJavaプロジェクトは依存関係を必要とし、マニフェストファイルで簡単に定義できます。通常、 `maven-dependency-plugin`を使ってプロジェクト依存関係を他の場所にコピーします。
pom.xml
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.4</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <mainClass>com.mkyong.core.App</mainClass> <classpathPrefix>dependency-jars/</classpathPrefix> </manifest> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.5.1</version> <executions> <execution> <id>copy-dependencies</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory> ${project.build.directory}/dependency-jars/ </outputDirectory> </configuration> </execution> </executions> </plugin>
次のマニフェストファイルが生成されます。プロジェクトの依存関係は `{project}/target/dependency-jars/`にコピーされます。
meta-inf/manifest.mf
manifest-Version: 1.0 Built-By: mkyong Build-Jdk: 1.6.0__35 Class-Path: dependency-jars/log4j-1.2.17.jar Created-By: Apache Maven Main-Class: com.mkyong.core.App Archiver-Version: Plexus Archiver
ソースコードをダウンロードする
それをダウンロードしてください://wp-content/uploads/2012/11/Java-project-into-jar-maven.zip[Generate-Manifest-Using-Maven.zip](7 KB)。
参考文献
-
http://maven.apache.org/shared/maven-archiver/
[Mavenマニフェスト
マニフェストの例]。 link://maven/how-to-create-a-jar-file-with-maven/[Jarを作成する方法
Mavenのファイル]