Maven
Javaの構築ツール、のひとつ、パッケージの依存関係に従っていろいろ構築する。 コマンド mvn に PATHを通せば適度に使える 3.9.9 では Windows コマンドがmvn.cmd になっているっぽい
サブコマンド?
掃除
$ mvn clean
成果物の生成 ?
$ mvn compile
テスト (jar前?)
$ mvn test
バッケージ化 (署名前?)
$ mvn package
署名と検証?
$ mvn verify
ローカルリポジトリへのインストール jar source doc
$ mvn install
リモートリポジトリへのインストール
$ mvn deploy
Maven Daemon
daemon化して高速化したもの
$ mvn
を
$ mvnd
に置き換えるだけ
テンプレート(archtype)
プロジェクトのテンプレートを持っていて生成できる
jar, war などいろいろ対応、自作も可能
mvn archetype:generate
オプションを省略してもとりあえず実行可能
オプション
テンプレートのID
-DarchetypeGroupId=ぐるーぷID
-DarchetypeArtifactId=アーティファクトID
-DarchetypeVersion=バージョン
例
-DarchetypeArtifactId=maven-archetype-quickstart
-DarchetypeGroupId=org.apache.maven.archetypes
-DarchetypeArtifactId=maven-archetpye-webapp
ぐるーぷIDは省略してもいい場合もあり
作成するプロジェクトのID
-DgroupId=プロジェクトのグループ
-DartifactId=プロジェクトid
-Dversion=初期バージョン
リポジトリから依存ライブラリを取得できる、プラグインも豊富
Mavenレジストリ
ローカルでも作れる、グローバルなものもある
Maven Central レジストリへの登録にはGPG鍵などが必要 登録しない場合もGPG鍵を作っておくと(鍵も登録は不要)ビルドの署名段階を通れるのでスムーズかもしれない プラグイン
<groupId>org.apache.maven.plugins</groupId> にいろいろあり
Java Platform Module System (JPMS)対応に META-INF/service/ などが重複する場合 maven-assembly-plugin の代わりに使う
<groupId>org.sonatype.central</groupId>
OCIコンテナ
jarをひとつにまとめる
いくつかの方法?