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のファイル]