使ってみた時のメモ。
Javaはインストール済み。
Maven のインストール
$sudo su
$wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
$ sed -i s/\$releasever/6/g /etc/yum.repos.d/epel-apache-maven.repo
$yum -y install apache-maven
$ mvn --version
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T16:41:47+00:00)
Maven home: /usr/share/apache-maven
Java version: 1.7.0_111, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.111.x86_64/jre
Default locale: ja_JP, platform encoding: UTF-8
OS name: "linux", version: "4.4.23-31.54.amzn1.x86_64", arch: "amd64", family: "unix"
使ってみる
以下に分かりやすくまとまっておりました。
Maven でプロジェクトの作成からビルド、実行までをやってみた
プロジェクトの作成
$mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
これで Maven パッケージの雛形が出来上がります。
具体的にはこんな感じの構成になります。
$tree .
.
└── my-app
├── pom.xml
└── src
├── main
│ └── java
│ └── com
│ └── mycompany
│ └── app
│ └── App.java
└── test
└── java
└── com
└── mycompany
└── app
└── AppTest.java
12 directories, 3 files
こんなコードになってた。
App.java
package com.mycompany.app;
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args )
{
System.out.println( "Hello World!" );
}
}
pom.xml の編集
mvn コマンドから Java を実行できる便利なプラグインexec-maven-plugin
します。
JUnitは最初から入っているのですね。
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>my-app</name>
<url>http://maven.apache.org</url>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
<mainClass>com.mycompany.app.App</mainClass>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
ビルドする
ビルドします。
初回は関係するライブラリのインストールなどもあり、少し時間がかかります。
$mvn package
・・・
[INFO] Building jar: /home/ec2-user/my-app/target/my-app-1.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 36.587 s
[INFO] Finished at: 2016-11-11T13:48:28+00:00
[INFO] Final Memory: 15M/36M
[INFO] ------------------------------------------------------------------------
できました。
targetフォルダ配下に jarファイルやクラスファイルも確認できますね。
実行する
$mvn exec:java
・・・
Hello World!
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.590 s
[INFO] Finished at: 2016-11-11T13:50:14+00:00
[INFO] Final Memory: 6M/15M
[INFO] ------------------------------------------------------------------------
出来ました!