#author("2023-04-02T00:58:18+00:00","default:hotate","hotate")
#author("2023-11-02T11:33:39+00:00","default:hotate","hotate")
#contents
&tag(Maven,Java);

* 概要 [#o4347776]
- [[Maven – Welcome to Apache Maven>https://maven.apache.org/]]
 Apache Maven is a software project management and comprehension tool. 
- [[- 第1回 Mavenって何?>http://objectclub.jp/technicaldoc/tools/maven/maven01]]
 Mavenは、不明瞭なソフトウェア開発プロジェクト、という存在をモデル化しました。
- [[Java - Maven2使い方メモ - Qiita>http://qiita.com/opengl-8080/items/226dd39bd02e41b9de28]]
 ずっと避けてたけど、そろそろ避けられなくなってきたので Maven2 の使い方をメモする。とりあえず、インストールから簡単なコマンドラインプログラムを作るまで。
- [[Mavenのビルドライフサイクル - Qiita>https://qiita.com/kawakawaryuryu/items/96db58fb9a607973eca0]] ([[2019]]/1/12)
 mavenには3つのビルドライフサイクルがあります。
 - clean: ビルドした成果物を削除する
 - default: デプロイまでを行う
 - site: サイトドキュメントを生成する
- [[Maven 3.5のビルドライフサイクルを学ぶ - Qiita>https://qiita.com/rubytomato@github/items/8b159a9e4376bbe04d0b]] ( 2019/08/01)
 Maven3のビルドライフサイクル、フェーズ、ゴールについて学んだ内容をまとめた記事です。なお、依存関係の解決やアーティファクトのリポジトリへのインストール、プロファイルの仕組み等については扱いません。
- [[Maven:SNAPSHOTのリリース方法 - Web開発など>https://web-dev.hatenablog.com/entry/maven/central/release-snapshot]]
 SNAPSHOT とは、開発中のコードであることを示す値です。-SNAPSHOT というサフィックスがつけられたプロダクト(例:sample-1.0.0-SNAPSHOT.jar など)は、まだ安定してなくて、今後も更新される可能性がある、ということになります。
- [[Mavenの基本勉強メモ - Qiita>https://qiita.com/opengl-8080/items/bb32732f9aa5cb3495d2]] (2020/04/07)
 ずっと Gradle 使ってたけど、お仕事で Maven をゴリゴリに使わないといけなくなったのでお勉強。

** [[トラブル]] [#ke38a75c]
- [[プロジェクトをMavenでビルドできない時の対応方法 - Qiita>https://qiita.com/ponsuke0531/items/bfa1998d4ac24788529d]] (2021/02/24)
 事象 : パッケージjavax.annotationは存在しません

** 3.8.2 [#zcd6df09]
- [[Maven – Release Notes – Maven 3.8.2>https://maven.apache.org/docs/3.8.2/release-notes.html]]
 Known Issues
 - If any of your plugin mojos spawns new threads there might be a change in class loading as a result of the fix for MNG-6843. See discussion with a possible fix for your plugin mojo as well as a potential general fix in MNG-7212.

* 設定 [#t3a0983b]
** [[Java]] [#i68aecc1]
- [[Unable to compile simple Java 10 / Java 11 project with Maven - Stack Overflow>https://stackoverflow.com/questions/49398894/unable-to-compile-simple-java-10-java-11-project-with-maven]]
 <properties>
    <maven.compiler.source>11</maven.compiler.source>
    <maven.compiler.target>11</maven.compiler.target>
 </properties>

** [[プロキシ]] [#c00078e7]
- [[Maven – Guide to using proxies>https://maven.apache.org/guides/mini/guide-proxies.html]]
 Configuring a proxy
 You can configure a proxy to use for some or all of your HTTP requests with Maven. 

** カラー出力 [#t63569f4]
- [[How to customize colors in maven 3.5 console output - Stack Overflow>https://stackoverflow.com/questions/43425304/how-to-customize-colors-in-maven-3-5-console-output]]
 You can override the default color of a style with the system property style.style_name.
- [[[MNG-6220] Add CLI options to control color output - ASF JIRA>https://issues.apache.org/jira/browse/MNG-6220]]
 I propose to add an option to control output coloring directly.
- [[How do I remove colors from Maven output? - Stack Overflow>https://stackoverflow.com/questions/43638595/how-do-i-remove-colors-from-maven-output]]
 Note that the actual flag is -Dstyle.color=(auto|always|never).
- [[maven/MavenCli.java at df67c00fba25a52e39fa43021b52de8a25b6e999 · apache/maven>https://github.com/apache/maven/blob/df67c00fba25a52e39fa43021b52de8a25b6e999/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java#L507-L525]]
- [[How to remove colors from Maven output permanently - Stack Overflow>https://stackoverflow.com/questions/62642650/how-to-remove-colors-from-maven-output-permanently]]
-- コメント:コメントの通り動作しなかった。(2021/10/11)

* コマンド [#yed4d9cd]
** パッケージ [#n264d364]
- [[2. Maven 入門 (4) | TECHSCORE(テックスコア)>http://www.techscore.com/tech/Java/ApacheJakarta/Maven/2-4/#maven-2-8]]
 JAR ファイルの作成 (パッケージング) を行うには次のコマンドを実行します:
 mvn package
- [[Maven でアプリケーション実行用バッチファイルを作る - A Memorandum>http://etc9.hatenablog.com/entry/20101206/1291619754]]
 Maven で各環境に応じたアプリケーション実行用のバッチファイルを作成するにはMojo project にて提供されているappassembler-maven-plugin を利用します。
- [[mavenで実行可能なjarファイルと依存ライブラリを含めたzipアーカイブを作成する – 寺子屋未満>http://terakonya.sarm.net/wordpress/2012/02/02/maven_build_assembly/]]
 コマンドから java -jar で実行可能なエントリーポイントを含むjarを作る
 上記jarで必要なライブラリ類を同包したアーカイブを作る

** プラグイン [#ja2c4a8c]
- [[Mavenでの依存ライブラリの最新バージョンを表示、更新したりできるVersions Maven Plugin - CLOVER>http://d.hatena.ne.jp/Kazuhira/20160528/1464444327]]
 依存ライブラリの最新バージョンを表示するには、「versions:display-dependency-updates」を指定します。
 mvn versions:display-dependency-updates


* レポート [#r1eea6b5]
- [[mavenのレポートプラグインてんこ盛り設定 - Sacrificed & Exploited>https://cnaos.hatenablog.com/entry/20100526/1274838431]] (2010/05/26)
 mavenレポートプラグインをてんこ盛りにしたpom.xmlの設定例です。
- [[maven2のsiteゴールで自作ページを追加する>https://www.eisbahn.jp/yoichiro/2007/02/maven2site_1.html]]
 siteゴールで適用されるロケールをja,入出力されるコンテンツの文字コードをUTF-8と設定している。実はこれだけで,
 標準Webページに関しては日本語化される。
- [[Maven プロジェクトレポートの作成 - @//メモ>http://hondou.homedns.org/pukiwiki/index.php?Maven%20%A5%D7%A5%ED%A5%B8%A5%A7%A5%AF%A5%C8%A5%EC%A5%DD%A1%BC%A5%C8%A4%CE%BA%EE%C0%AE]]
 test が 2回走る対策
 実行コマンドとして mvn site ではなく、mvn surefire-report:report-only を使う
-- [[Maven2のテストフェーズについてあれこれ - とある誰かの覚え書き>http://d.hatena.ne.jp/aqvi/20090210/1234290125]]

** Javadoc [#ycb6076f]
- [[[Maven] 全モジュールをまとめた Javadoc を生成するメモみかん箱>http://mikanbako.blog.shinobi.jp/java/-maven-%20%E5%85%A8%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%82%92%E3%81%BE%E3%81%A8%E3%82%81%E3%81%9F%20javadoc%20%E3%82%92%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E3%83%A1%E3%83%A2]] (2006/12/03)
 通常、複数のモジュールで構成されているプロジェクトで javadoc:javadoc ゴールを実行すると、モジュールごとに別々の Javadoc が生成されます。しかし、プロジェクトで最上位の pom.xml に設定を行うと、プロジェクト全体のドキュメントを生成できます。

* プラグイン [#va9abf2d]
- [[Apache Maven Compiler Plugin – Usage>https://maven.apache.org/plugins/maven-compiler-plugin/usage.html]]
- [[Apache Maven JAR Plugin – Usage>https://maven.apache.org/plugins/maven-jar-plugin/usage.html]]
- [[Apache Maven Resources Plugin - Usage>https://maven.apache.org/plugins/maven-resources-plugin/usage.html]]
- [[Maven JXR Plugin – Usage>https://maven.apache.org/jxr/maven-jxr-plugin/usage.html]]
- [[Apache Maven PMD Plugin – Plugin Documentation>https://maven.apache.org/plugins/maven-pmd-plugin/plugin-info.html]]
-- [[Apache Maven PMD Plugin – Usage>https://maven.apache.org/plugins/maven-pmd-plugin/usage.html]]
-- [[java - Maven PMD plug-in not generating a report with 'mvn site' command or 'pmd:pmd' - Stack Overflow>http://stackoverflow.com/questions/28775835/maven-pmd-plug-in-not-generating-a-report-with-mvn-site-command-or-pmdpmd]]
 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:
- [[FindBugs Maven Plugin – Introduction>https://gleclaire.github.io/findbugs-maven-plugin/]]
 Status: Since Findbugs is no longer maintained, please use Spotbugs which has a Maven plugin. It is located at here.
- [[SpotBugs>https://spotbugs.github.io/]]
 SpotBugs is a program which uses static analysis to look for bugs in Java code.
-- [[SpotBugs Maven プラグインの使い方 — spotbugs 4.0.0 ドキュメント>https://spotbugs.readthedocs.io/ja/latest/maven.html]]
 この章では,Maven プロジェクトに SpotBugs を統合する方法について説明します。
- [[SpotBugs Maven Plugin – Introduction>https://spotbugs.github.io/spotbugs-maven-plugin/index.html]]
 SpotBugs looks for bugs in Java programs. 
- [[Apache Maven Clean Plugin – Usage>https://maven.apache.org/plugins/maven-clean-plugin/usage.html]]
- [[Apache Maven Project Info Reports Plugin – Usage>https://maven.apache.org/plugins/maven-project-info-reports-plugin/usage.html]]
-- [[Maven: Report plugin org.apache.maven.plugins:maven-project-info-reports-plugin has an empty version - Stack Overflow>http://stackoverflow.com/questions/18734650/maven-report-plugin-org-apache-maven-pluginsmaven-project-info-reports-plugin]]
- [[Apache Maven Site Plugin – Introduction>https://maven.apache.org/plugins/maven-site-plugin/]]
- [[Taglist Maven Plugin - Usage>http://www.mojohaus.org/taglist-maven-plugin/usage.html]]


* [[Jenkins]] [#k2e8c36e]
- [[Jenkinsで静的解析・テスト結果やらのレポートを生成するMavenの設定 - Qiita>http://qiita.com/digdagdag/items/39e31f3e3093e511fbce]]
 Jenkinsに静的解析、テスト結果をまとめてレポートしてもらう為のMaven設定を記したもの。
- [[Mavenで静的解析を実行する - Qiita>https://qiita.com/kazokmr/items/8dc9182ea638b78ab7b6]]
 静的解析をverifyフェーズで実行している理由
 これはOpenCloverのカバレッジ取得の仕組みが原因で、testフェーズ以前だと静的解析でエラーを検出してしまうため。
- [[JenkinsでDeclarative Pipelineを使ったアレコレ(2019/3現在) - Qiita>https://qiita.com/mas0061/items/7024169f306390aa1717]]
 Jenkins公式で開発されている warnings-na-plugin 。プラグインの ng はNext Generationなので、今後はこっちを開発していく方針っぽい。
- [[JenkinsからMavenを自動インストールした場合のProxy設定 - Qiita>https://qiita.com/kinunori/items/96cfbf26f661f9b383ea]]
 MavenのProxy設定を記述するsettings.xmlのパス
 例:Maven名をamatsukazeとした場合
 /var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/amatsukaze/conf/settings.xml


* 関連 [#a7554c57]
#taglist(tag=Maven)

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS