Mavenは、不明瞭なソフトウェア開発プロジェクト、という存在をモデル化しました。
ずっと避けてたけど、そろそろ避けられなくなってきたので Maven2 の使い方をメモする。 とりあえず、インストールから簡単なコマンドラインプログラムを作るまで。
Maven3のビルドライフサイクル、フェーズ、ゴールについて学んだ内容をまとめた記事です。 なお、依存関係の解決やアーティファクトのリポジトリへのインストール、プロファイルの仕組み等については扱いません。
JAR ファイルの作成 (パッケージング) を行うには次のコマンドを実行します: mvn package
Maven で各環境に応じたアプリケーション実行用のバッチファイルを作成するにはMojo project にて提供されている appassembler-maven-plugin を利用します。
コマンドから java -jar で実行可能なエントリーポイントを含むjarを作る 上記jarで必要なライブラリ類を同包したアーカイブを作る
依存ライブラリの最新バージョンを表示するには、「versions:display-dependency-updates」を指定します。 mvn versions:display-dependency-updates
siteゴールで適用されるロケールをja,入出力されるコンテンツの文字コードをUTF-8と設定している。実はこれだけで, 標準Webページに関しては日本語化される。
test が 2回走る対策 実行コマンドとして mvn site ではなく、mvn surefire-report:report-only を使う
The maven-pmd-plugin by default skips nowadays empty reports (property skipEmptyReport). You'll need to set this to false, to get in your site always a PMD/CPD report:
Jenkinsに静的解析、テスト結果をまとめてレポートしてもらう為のMaven設定を記したもの。
静的解析をverifyフェーズで実行している理由 これはOpenCloverのカバレッジ取得の仕組みが原因で、testフェーズ以前だと静的解析でエラーを検出してしまうため。
Jenkins公式で開発されている warnings-na-plugin 。プラグインの ng はNext Generationなので、今後はこっちを開発していく方針っぽい。