top / index / prev / next / target / source
日記形式でつづる いがぴょんコラム ウェブページです。
Apache Maven による、シンプルな Java プロジェクトサンプルの作り方をメモします。このページの記述は、他の いがぴょんの日記
エントリから基本手順としても参照されるものにあたります。
mvn
コマンドを用いて Maven プロジェクトを新規作成します。ここでは /tmp
ディレクトリに とてもベーシックな Java プロジェクトを作成する例を示しています。
cd /tmp
mvn archetype:generate -DgroupId=my.sandbox -DartifactId=MySandboxApp -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
これにより、/tmp
ディレクトリに MySandboxApp
ディレクトリが作成され、そこに基本的な Maven の Java プロジェクト一式が作成されます。
Maven プロジェクトの記述ファイル pom.xml
を編集して基礎設定およびライブラリを組み込みます。 ここでは、まず pom.xml
ファイルを開きます。
cd MySandboxApp
vi pom.xml
以下のような記述を pom.xml
に追加します。(変更箇所のみ掲載しています)
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>[4.12,5.0)</version>
</dependency>
<!-- 必要に応じて、ここに追加のライブラリ記述を追加します。 -->
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<configuration>
<mainClass>my.sandbox.App</mainClass>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
以下の <dependency>
には、必要に応じてライブラリを追加します。<dependency>
の <version>
指定は、可能であれば [4.12,5.0)
のように範囲指定により記述することを推奨します。<build>
-> <plugins>
-> <plugin>
に、<artifactId>exec-maven-plugin</artifactId>
を追加します。これにより、後述の exec:java
指定が有効になります。メインクラスを <mainClass>
に記述することにより有効に機能するようになります。mvn
コマンドにより自動生成される この手順における Java ソースコードは src/main/java/my/sandbox/App.java
になります。こちらをテキストエディタで編集します。
vi src/main/java/my/sandbox/App.java
ここでは src/main/java/my/sandbox/App.java
を以下のように変更しています。必要に応じてコードを記述してください。
package my.sandbox;
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args )
{
System.out.println( "こんにちは世界。" );
}
}
以下のような mvn
コマンドにより Java ソースコードのコンパイルおよび実行できます。
mvn install exec:java
実行結果は、おおむね以下のようになります。 exec-maven-plugin:1.2.1:java
により以下のようにアプリが実行されて標準出力に「こんにちは世界。」と出力されていることがわかります。
...
[INFO] --- exec-maven-plugin:1.2.1:java (default-cli) @ MySandboxApp ---
こんにちは世界。
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.085 s
[INFO] Finished at: 2017-01-02T07:44:17+09:00
[INFO] Final Memory: 15M/35M
[INFO] ------------------------------------------------------------------------
$
上記のような手順が mvn
コマンドを用いた一連のプロジェクト作成・編集・コンパイル・実行になります。