参考
https://qiita.com/yasushi-jp/items/97fbd3487690e2a79933
mavenを使ったHelloWorld
プロジェクト作成
mvn archetype:generate -DgroupId=com.example -DartifactId=sample
- groupId
- ルートパッケージに使用される
- artifactId
- プロジェクト名。ディレクトリ名などに使用される
ビルド
- mvn compile
- プログラムをコンパイル
- mvn package
- jarファイル作成
- mvn package -DskipTests=true
- テストをスキップしてjarファイル作成
- mvn dependency:build-classpath
- クラスパスを表示。コマンドラインで手動で実行したいときとか便利。
- mvn install dependency:copy-dependencies
- 必要なjarファイルをtargetのdependencyにダウンロードする
実行
java -cp target xxxxx.jar com.example.App
実行(exec-maven-pluginを使う)
pom.xmlのpluginsに以下を追記。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<configuration>
<mainClass>com.example.App</mainClass>
</configuration>
</plugin>
mainClassはメインクラス。
mvn exec:java
使い方いろいろ
コンパイルの対象のファイルを減らす
標準のままだと全てのJavaファイルがコンパイルの対象となる。
変更のあったファイル(classファイルより新しいJavaファイルのみ)をコンパイルするほうが効率が良い
pom.xmlのpluginsに以下を追加すると新しいファイルのみコンパイルの対象となる。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<useIncrementalCompilation>false</useIncrementalCompilation>
</configuration>
</plugin>
コンパイルの対象のファイルを減らす(コマンドライン)
pom.xmlに記載せずにuseIncrementalCompilationを指定することもできる
mvn compile -Dmaven.compiler.useIncrementalCompilation=false
ソースパス
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>../demo2/src/main/java</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
一部ソース除外
ソースパスを追加した場合などで、不要なファイルがある場合は除外できる。
ただし、指定方法は絶対パス等ではなく、
<exclude>**/some/full/directory/*</exclude> <exclude>**/some/single/File.java</exclude>
などのような指定方法をする。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<excludes>
<exclude>**/demo2/Demo2Application.java</exclude>
</excludes>
</configuration>
</plugin>
ローカルリポジトリ(.m2)のパスを変更
環境変数で変更する方法
https://stackoverflow.com/questions/16591080/maven-alternative-m2-directory
export MAVEN_OPTS="-Dmaven.repo.local=/path/to/repository"
[カテゴリ: プログラミング言語 > Java]
[通知用URL]
Tweet
最終更新時間:2024年05月01日 09時08分10秒