システム開発で思うところ

Javaで主にシステム開発をしながら思うところをツラツラを綴る。主に自分向けのメモ。EE関連の情報が少なく自分自身がそういう情報があったら良いなぁということで他の人の参考になれば幸い

Mavenメモ

自分向けのメモ

基本

Maven | TECHSCORE(テックスコア)

pom.xmlの各要素デフォルト値と変数置換について - Qiita

Mavenでビルドする際にpomによく書くことメモ - Qiita

Mavenでビルドする際の10のTips - cynipeと読む

GitHub - IBM/japan-technology: IBM Related Japanese technical documents - Code Patterns, Learning Path, Tutorials, etc.

パス

Mavenを使ってリソースファイルをJARの外部に配置する方法 - Qiita

Maven3で環境ごとのresourceを差分で管理する方法 - Qiita

実行時制御

Maven管理下のリソースファイルの値を実行時にプロパティの値で置換する (Resource Filtering) - 理系学生日記

JavaTechnology Slot Online | Cara Daftar bermain Slot Online

Exec Maven Plugin

http://tomoyamkung.net/2015/09/09/2015-09-09-maven_exec_plugin/

2011-01-06

http://www.sssg.org/blogs/hiro345/archives/14570.html

Maven pom.xml のバージョン番号を Java プログラムから取得する / 桃缶食べたい。

No hack, No chance: Jar の META-INF/MANIFEST.MF に書いた Class-Path が効かない件

モジュール管理

Mavenプロジェクトをモジュール化する | Java好き

java - Maven / FatJarのビルドについて - スタック・オーバーフロー

3. Maven 入門 (7) | TECHSCORE(テックスコア)

2010-11-27

Mavenでの依存ライブラリの最新バージョンを表示、更新したりできるVersions Maven Plugin - CLOVER🍀

Apache Maven Javadoc Plugin – Grouping Packages

Mavenプラグインで外部ライブラリをrepackageする方法 - Kengo's blog

Maven Assembly Pluginで実行可能jarをつくる - 理系学生日記

Maven Assembly Plugin をマルチモジュールプロジェクトで使う - A Memorandum

Maven Assembly Plugin でできるファイル名がクソダサかった話 - 理系学生日記

Maven で依存 JAR ライブラリを target/dependency にコピー - kymmt

Mavenから開発しやすいEclipseのTomcatプロジェクトを生成する - TIM Labs

JavaDoc

みかん箱

mvn siteのtips三連発 | nagaseyasuhito Daily works.

GitでMavenリポジトリ

Github上に私設Mavenリポジトリをつくる - M12i.

GitHub の Pages を maven リポジトリとして使用するときのアカウント情報をセキュアにする(OAuth2Token) | KK.Kon の徒然メモ書き

http://synergian.github.io/wagon-git/usage.html

Github を Maven リポジトリとして使う -

PMD

Maven使いのためのPMD入門(2012年夏) - Kengo's blog

PMD rulesetの一覧(java) | Monotalk

PMD 標準的な ruleset とは何かを調べてみる | Monotalk

プラグイン

http://boatrip.co.jp/blog/2016/06/26/011/

警告は出るけど、とりあえず出力はされている自分のpom.xml抜粋

<plugin>
    <groupId>org.jacoco</groupId>
    <artifactId>jacoco-maven-plugin</artifactId>
    <version>0.7.7.201606060606</version>
    <executions>
        <execution>
            <id>prepare-agent</id>
            <phase>test-compile</phase>
            <goals>
                <goal>prepare-agent</goal>
            </goals>
        </execution>
        <execution>
            <id>report</id>
            <phase>prepare-package</phase>
            <goals>
                <goal>report</goal>
            </goals>
        </execution>
    </executions>
</plugin>

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.19.1</version>
    <configuration>
        <skipTests>false</skipTests>
    </configuration>
</plugin>

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-report-plugin</artifactId>
    <version>2.19.1</version>
</plugin>

出力される警告
file.encoding cannot be set as system property, use <argLine>-Dfile.encoding=...</argLine> instead

ということでmaven-surefire-plugin<argLine>を追記するけれどカバレージレポートが出なくなる。
現状は警告を放置してレポートが出力される方を優先することにしている。

循環参照チェック

https://blog.guildworks.jp/2014/09/25/find-cyclic-dependencies/

テストクラスは、とりあえず、言われるままに実装。
今のところ循環は無いみたい。

pom.xmlの関連個所のみ

    <dependency>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>jdepend-maven-plugin</artifactId>
        <version>2.0</version>
        <scope>test</scope>
        <type>jar</type>
    </dependency>


<reporting>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>jdepend-maven-plugin</artifactId>
            <version>2.0</version>
        </plugin>
    </plugins>
</reporting>

依存管理

Mavenでプロジェクトの依存関係を解析する - CLOVER🍀

http://blog.soebes.de/blog/2014/01/02/version-information-into-your-appas-with-maven/

環境情報の切り替え

maven-war-pluginで環境ごとの設定ファイルを管理してみた - Challenge Engineer Life !

SpotBugs

nablarch-style-guide/Maven-settings.md at master · nablarch-development-standards/nablarch-style-guide · GitHub