LoginSignup
0
1

More than 5 years have passed since last update.

Maven を使ってみた

Posted at

使ってみた時のメモ。
Javaはインストール済み。

Maven のインストール

AmazonLinuxに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] ------------------------------------------------------------------------

出来ました!

0
1
0

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
0
1