このサイトは、只今WEB業界で活躍中のデザイナー、プログラマーの方々の情報を集めたweb統合情報サイトです。

Archives Details

Mavenを用いたアプリケーション作成方法

Java

2018.11.24

この記事は最終更新日から1年以上が経過しています。

今回は、ビルドツールであるMavenを用いて、JavaアプリをMavenでビルドする方法となります。

Maven ダウンロードページ

https://maven.apache.org/

ダウンロードページは上記のリンクとなります。

まずは、Mavenをダウンロードしていきます。

ダウンロード対象ページ

https://maven.apache.org/download.cgi

こちらにリリースされたファイルがアップロードされていますので、こちらから該当ファイルをダウンロードしていきます。

ダウンロードファイルには「binary」と、「Source」があり、それぞれ以下のようなファイルが格納されております。

  • Binary tar.gz archive
  • Binary zip archive
  • Source tar.gz archive
  • Source zip archive

Binary

Source

とりあえずは、「binary」の方で良いかと思います。

2018年11月現在、 v3.6.0が最新のようなのでこちらをダウンロードしていきます。

リンクをクリックして、ファイルをダウンロードします。

Maven セットアップ

ファイルダウンロード完了したら、任意の場所へと移動します。

とりあえず「/usr/local/」以下に格納。

$ mv apache-maven-3.6.0 /usr/local/apache-maven-3.6.0

コマンドが使用できるようにパスを通します。

.bash_profile」などにパス追加を記述。

.bash_profile

export PATH=/usr/local/apache-maven-3.6.0/bin/:$PATH
export PATH

プロジェクト生成

パスを通すとMaven実行コマンドである「mvn」が使用できるようになります。

早速、以下のコマンドでプロジェクトを生成していきます。

mvn archetype:generate

初回実行時には、諸々のインストールが始まるかもしれません(時間がかかりました)

コマンド実行後、最後に以下のメッセージが表示するかと思いますので、こちらから対話式に初期設定を行っていきます。

Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 1285:

上記のメッセージが表示しましたらリターンキーを押下。

・クイックスタート・バージョンの選択

続いて、「クイックスタート・バージョン」の選択を行っていきます。

デフォルトでは、以下のように最新の「1.3」が選択されている状態なので、特に変更なければそのままリターンキー押下。

Choose org.apache.maven.archetypes:maven-archetype-quickstart version:
1: 1.0-alpha-1
2: 1.0-alpha-2
3: 1.0-alpha-3
4: 1.0-alpha-4
5: 1.0
6: 1.1
7: 1.3
Choose a number: 7:

・グループID入力

続いてグループID入力を求められるので、Javaのパッケージ名を入力します。

Define value for property 'groupId':

今回は「com.webcyou.maven」と入力。

入力後リターンキーを押下。

com.webcyou.maven

・アーティフェクトIDの入力

続いてアーティフェクトID入力を求められるので、こちらは「アプリケーション名」を入力していきます。

Define value for property 'artifactId':

今回は「MavenSample」と入力。

入力後リターンキーを押下。

MavenSample

・バージョンの入力

続いて、プロジェクトをWARファイルなどに変換する際に、デフォルトで付与されるバージョンテキストの入力を求められます。

Define value for property 'version' 1.0-SNAPSHOT: :

デフォルトでは、「1.0-SNAPSHOT」となっていますので、特に変更なければそのままリターンキーを押下。

・パッケージ名指定

続いて、プロジェクトのプログラムにデフォルトで設定されるパッケージの入力を求められます。

Define value for property 'package' com.webcyou.maven: :

デフォルトでは、先程入力したグループIDである「com.webcyou.maven」となっていますので、特に変更なければそのままリターンキーを押下。

Define value for property 'package' com.webcyou.maven: :
Confirm properties configuration:
groupId: com.webcyou.maven
artifactId: MavenSample
version: 1.0-SNAPSHOT
package: com.webcyou.maven

と、ここまで入力すると、今まで入力した内容が表示されます。

・生成を実行

以下の様に「Y::」と言った表示になります。

Y: : 

上記の入力した内容で問題なければそのまま、リターンキーを押下。

プロジェクト生成が開始されます。

[INFO] ----------------------------------------------------------------------------

[INFO] Using following parameters for creating project from Archetype: maven-archetype-quickstart:1.3

[INFO] ----------------------------------------------------------------------------

[INFO] Parameter: groupId, Value: com.webcyou.maven

[INFO] Parameter: artifactId, Value: MavenSample

[INFO] Parameter: version, Value: 1.0-SNAPSHOT

[INFO] Parameter: package, Value: com.webcyou.maven

[INFO] Parameter: packageInPathFormat, Value: com/webcyou/maven

[INFO] Parameter: package, Value: com.webcyou.maven

[INFO] Parameter: version, Value: 1.0-SNAPSHOT

[INFO] Parameter: groupId, Value: com.webcyou.maven

[INFO] Parameter: artifactId, Value: MavenSample

[INFO] Project created from Archetype in dir: /Users/takayamadaisuke/maventest/MavenSample

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------

[INFO] Total time:  03:08 min

[INFO] Finished at: 2018-11-23T15:00:46+09:00

[INFO] ------------------------------------------------------------------------

問題がなければ「BUILD SUCCESS」のメッセージ表示され、プロジェクトが生成されます。

プロジェクトが生成内容確認

問題なくプロジェクトが生成されると、以下の様なディレクトリとファイルが存在しているかと思います。

各ファイルの詳細は以下の通り。

srcフォルダ ソースコードがまとめられているフォルダ。主な開発プログラムファイルはこちらに格納
pom.xml プロジェクトの内容を記述したXMLファイル。

こちらの内容を元にビルドが行われる。

srcフォルダ以下は「main(主なプログラム)」と「test(mainに対するテストプログラム)」の2種類となっております。

mvn コンパイルコマンド

ソースコードをコンパイルするコマンドは「mvn compile」コマンドで行うことができます。

$ mvn compile

おもむろに実行してみると。

[INFO] Scanning for projects...

[INFO]

[INFO] -------------------< com.webcyou.maven:MavenSample >--------------------

[INFO] Building MavenSample 1.0-SNAPSHOT

[INFO] --------------------------------[ jar ]---------------------------------

[INFO]

[INFO] --- maven-resources-plugin:3.0.2:resources (default-resources) @ MavenSample ---

[INFO] Using 'UTF-8' encoding to copy filtered resources.

[INFO] skip non existing resourceDirectory /Users/takayamadaisuke/maventest/MavenSample/src/main/resources

[INFO]

[INFO] --- maven-compiler-plugin:3.7.0:compile (default-compile) @ MavenSample ---

[INFO] Changes detected - recompiling the module!

[INFO] Compiling 1 source file to /Users/takayamadaisuke/maventest/MavenSample/target/classes

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------

[INFO] Total time:  0.912 s

[INFO] Finished at: 2018-11-23T15:07:02+09:00

[INFO] ------------------------------------------------------------------------

上記のメッセージが表示した後。

プロジェクト内に「target」フォルダが作成されました。

mvn パッケージコマンド

プログラムのコンパイル、ビルド、ユニットテストをまとめて実行するコマンドが「mvn package」コマンドとなります。

$ mvn package

こちらもおもむろに実行してみます。

[INFO] --- maven-jar-plugin:3.0.2:jar (default-jar) @ MavenSample ---

[INFO] Building jar: /Users/takayamadaisuke/maventest/MavenSample/target/MavenSample-1.0-SNAPSHOT.jar

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------

[INFO] Total time:  1.970 s

[INFO] Finished at: 2018-11-23T15:14:34+09:00

[INFO] ------------------------------------------------------------------------

mvn compileコマンド同様、プロジェクト内に「target」フォルダが作成されました。

若干、生成されたファイルが多いのが確認できます。

Hello World!を実行

プロジェクト時に生成された「src > main > java > com.webcyou.maven > App」

を、確認してみると、以下の様に「Hello World」のメッセージを表示する記述となっております。

package com.webcyou.maven;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

packageコマンドで生成された「target」フォルダ内のパスを参照して、おもむろに javaコマンドで実行してみます。

$ java -cp target/MavenSample-1.0-SNAPSHOT.jar com.webcyou.maven.App
Hello World!

「Hello World!」のメッセージが表示しました。

とりあえず、「Hello World!」のメッセージ表示まで行えました。

Maven in 5 Minutes

https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html

Comment

Related Article

IntelliJ + Spring Initializr + Gradleで、サクッとSpring Boot環境を構築

2018.11.24

Mavenを用いたアプリケーション作成方法

2018.11.24

Gradleを用いたアプリケーション作成方法

2018.11.23

JavaでiOSアプリ開発 RoboVM + eclipse

2013.09.06

Java 始めました。mac IDE環境設定 Eclipse日本語化

2013.07.21

CATEGORY LIST

LATEST NEWS

Mac VSCodeで、SFML C++開発環境を作る。

C++

2024.09.09

Rust-SDL2 examplesをすべて試す

Rust

2024.09.01

JavaScriptで、DOMを放り投げる処理

JavaScript

2024.07.27

Rustで創る MOS 6502 CPU その2

Rust

2024.07.23

Rustで創る MOS 6502 CPU その1

Rust

2024.07.19

汎用 3D mesh/model viewerを求め。と、簡単に、FBXファイルをglTF(glb)に変換ツールを求め。

C++

2024.06.06

M1 Macで、OpenGL GLUTを使ってコンパイルする

C

2024.04.27

Rust - Actix Web mongo ユーザー登録 JWT認証

Rust

2024.03.24

Rust - Actix Web JWT 認証認可 APIの作成

Rust

2024.02.25

Rust - Actix Web × JSON 静的ファイルをAPIで返却

Rust

2024.01.19

Rust - Actix Web × MongoDB環境をサクッと起動

Rust

2024.01.18

5分で学ぶ RustでWave Function Collapse (波動関数崩壊アルゴリズム)

Rust

2024.01.15

RANKING

Follow

SPONSOR

現在、掲載募集中です。



Links

About Us

WEBデザイナーの、WEBデザイナーによる、WEBデザイナーの為のサイト。「みんなで書こう!」と仲間を募ってみたが、結局書くのは自分だけとなってしまいました。日々のメモを綴っていきます。

Entry Profile

Graphical FrontEnd Engineer
- Daisuke Takayama

MAD CITY 北九州市で生まれ育つ。20代はバンド活動に明け暮れ、ふと「webデザイナーになりたい。」と思い、デジタルハリウッド福岡校入学。卒業後、数々の賞を受賞、web業界をざわつかせる。
現在、主に、ゲーム制作中心に港区六本木界隈で活動中。

FOLLOW US