74
82

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Mavenで実行可能jarをビルドする方法

Last updated at Posted at 2017-07-23

#はじめに
すこし前にMavenという壁にぶち当たり、Mavenってそもそものなんだというところから、実行可能jarファイルをビルドするところまでを勉強しました。

今回は、その時勉強したことの備忘録を兼ね、いろんなところからかき集めた実行可能jarをもっともシンプルに作る方法をご紹介します。

他にもっと簡単にできる方法をご存じだという方は、ご指摘などいただけると幸いです。
Mavenの基本的な使い方は、別に記事を書きましたので、よろしければそちらもご覧ください。

#1. 実行可能jarとは
java -jar <jarファイル名> と打って実行できるjarファイルのことです。
通常javaで作ったプログラムは、実行可能jarとしてビルドしないと、実行するとき

java -classpath <jarファイル名> <mainがあるクラス名> <コマンドライン引数>

のように、実行対象のjarファイルと、クラス・パスを別に指定する必要がありますが、実行可能jarとしてビルドすると、初めに紹介したコマンドだけで実行できるようになります。
Windowsなど、GUI環境であれば、ダブルクリックで実行することも可能です。
その場合は、コンソールアプリケーションだと厳しいですが・・・

話はそれますが、javaを使用したGUIプログラムを作る方法も、そのうち記事にしようと思っているので、興味のある方は首を長くしてお待ちください。

#2. mavenによるビルド
ここからは本題の、Mavenを使って実行可能jarをビルドする方法をご紹介します。
この記事では、Eclipseを使用し、Mavenの基本的な使い方は理解している前提で話を進めます。
「Mavenって聞いたことはあるけど、なんなのかはよーわからん」というような方は、別の記事でMavenをある程度使えるようなってから続きをご覧ください。

その手の記事は筆者も一度書いていますので、よろしければこちらをご覧ください。

##2.1. Mavenプロジェクトの作成
Eclipseでも、Mavenの駒野でも、どちらでもよいのですが、とりあえずMavenプロジェクトを作成します。
今回は実行可能jarがビルドできれば何でもよいので、Hello Worldのソースファイルでも作って入れておきます。

##2.2. maven-assembly-pluginの導入
Mavenで実行可能jarファイルをビルドするには、assembly-pluginというMavenのプラグインを使用します。

pom.xmlに次の内容を記載し、プラグインを追加してください。

<!-- 実行可能jarファイル用のプラグイン -->
<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-assembly-plugin</artifactId>
	<version>3.0.0</version>
	<configuration>
		<finalName>test</finalName>
		<descriptorRefs>
		<!-- 依存するリソースをすべてjarに同梱する -->
		<descriptorRef>jar-with-dependencies</descriptorRef>
		</descriptorRefs>
		<archive>
			<manifest>
				<mainClass>main.Main</mainClass>
			</manifest>
		</archive>
	</configuration>
	<executions>
		<execution>
			<!-- idタグは任意の文字列であれば何でもよい -->
			<id>make-assembly</id>
			<phase>package</phase>
			<goals>
				<goal>single</goal>
			</goals>
		</execution>
	</executions>
</plugin>

##2.3. jarファイルの生成
ここまでで、Mavenの設定はすべて終了です。
あとは、おなじみのコマンドでビルドを行うだけです。
作成したプロジェクトのpom.xmlのあるディレクトリで、次のコマンドを実行してください。

mvn install

すると、mavenがガリガリと動いて、targetディレクトリにjarファイルが生成されているはずです。
jarファイルは2つ生成されていると思いますが、「jar-with-dependencies」が付いているほうが実行可能jarファイルです。

そのjarファイルをコマンドで実行します。

java -jar 生成したjarファイル

いかがでしょうか?jarファイルが実行されたことと思います。

#3. 最後に
ここまででmavenを使用して実行可能jarファイルを生成する方法をご紹介しました。
mavenシリーズは、自分でもかなり時間をかけて勉強したので、また記事を投稿すると思います。
少しでも、mavenを使いたい、または使わざるを得ないけど使い方がわからない・・・というような方のお役にたてれば幸いです。

74
82
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
74
82

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?