【java】今更ながらMavenをインストールして使ってみる~プロジェクト作成~
Springフレームワークを勉強するにあたってSTSを使っているが、便利すぎてどんな仕組みでプロジェクトが動いているのかわからなくなるため、備忘録としてMavenを使ってみる。
1.インストール
https://maven.apache.org/download.cgi
ここからダウンロードしてインストール
Mavenはインストールプログラムを実行してインストールする形ではなく、ファイルが保存されるだけ。(apache-maven-{バージョン名}という名前)
2.環境変数設定
Mavenはコマンドプログラムであるため、環境変数を設定する。
システム→詳細設定→環境変数→システム環境変数の「Path」を「編集」し、「新規」でmavenの「bin」フォルダのパスを指定してOKクリック
※JAVA_HOMEの環境変数でbinのパスを指定していると起動しない。
Java\jdkまでのパスを指定する。ここで躓いたの俺だけかな?
コマンドプロンプトで mvn -version と入力し、バージョン情報が表示されればOK!
俺、これからの人生であと何回環境変数を設定するんだろうな....
3.プロジェクトを作る
下記コマンドでプロジェクト作成
mvn archetype:generate
いろんな文字が滝のように流れた後、
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 整数:
となるので、そのままエンター。
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 8: 1.4 Choose a number: 8:
次にクイックスタートのバージョン選択。デフォルトで最新版が選択されているので、大体そのままエンター。
次はグループIDを決める。ここはjavaのパッケージ名をイメージして決定するといい。
次にアーティファクトID。これはアプリケーション名に相当するもの。
次にwarファイルを生成するときに付随するバージョン情報。続いてプログラムに設定されるパッケージ名の決定。
最後にエンターを入力して、下記のようになればプロジェクト生成完了!
Define value for property 'groupId': com.myproject Define value for property 'artifactId': myapp Define value for property 'version' 1.0-SNAPSHOT: : Define value for property 'package' com.myproject: : Confirm properties configuration: groupId: com.myproject artifactId: myapp version: 1.0-SNAPSHOT package: com.myproject Y: : [INFO] ---------------------------------------------------------------------------- [INFO] Using following parameters for creating project from Archetype: maven-archetype-quickstart:1.4 [INFO] ---------------------------------------------------------------------------- [INFO] Parameter: groupId, Value: com.myproject [INFO] Parameter: artifactId, Value: myapp [INFO] Parameter: version, Value: 1.0-SNAPSHOT [INFO] Parameter: package, Value: com.myproject [INFO] Parameter: packageInPathFormat, Value: com/myproject [INFO] Parameter: package, Value: com.myproject [INFO] Parameter: groupId, Value: com.myproject [INFO] Parameter: artifactId, Value: myapp [INFO] Parameter: version, Value: 1.0-SNAPSHOT [INFO] Project created from Archetype in dir: C:\Users\ユーザー名\Desktop\myapp [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 13:30 min [INFO] Finished at: 2019-11-22T23:49:18+09:00 [INFO] ------------------------------------------------------------------------
これでコマンドを実行した際のカレントディレクトリに、最も基本的なjavaプロジェクトが作成される!
4.コンパイル、実行
プロジェクトのあるフォルダで
mvn compile コマンドを実行でコンパイル
これでソースコード類がコンパイルされ、クラスファイル類をまとめた[target]フォルダが作成される。
mvn package コマンドで....
プログラムのコンパイル、プログラム全体をパッケージにまとめる「ビルド」、関数やメソッドが機能するかをテストする「ユニットテスト」を一括実行し、targetフォルダにjarファイルが作成される!
ただし、このままだとメインクラスの設定がされてないため、jarファイルが使えないらしい....
中途半端だけど、ここまで....