!!!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に以下を追記。 org.codehaus.mojo exec-maven-plugin 1.2.1 com.example.App mainClassはメインクラス。 mvn exec:java !!!使い方いろいろ !!コンパイルの対象のファイルを減らす 標準のままだと全てのJavaファイルがコンパイルの対象となる。 変更のあったファイル(classファイルより新しいJavaファイルのみ)をコンパイルするほうが効率が良い pom.xmlのpluginsに以下を追加すると新しいファイルのみコンパイルの対象となる。 org.apache.maven.plugins maven-compiler-plugin 3.1 false !!コンパイルの対象のファイルを減らす(コマンドライン) pom.xmlに記載せずにuseIncrementalCompilationを指定することもできる mvn compile -Dmaven.compiler.useIncrementalCompilation=false !!ソースパス org.codehaus.mojo build-helper-maven-plugin add-source generate-sources add-source ../demo2/src/main/java !!一部ソース除外 ソースパスを追加した場合などで、不要なファイルがある場合は除外できる。 ただし、指定方法は絶対パス等ではなく、 **/some/full/directory/* **/some/single/File.java などのような指定方法をする。 org.apache.maven.plugins maven-compiler-plugin **/demo2/Demo2Application.java !!ローカルリポジトリ(.m2)のパスを変更 !環境変数で変更する方法 https://stackoverflow.com/questions/16591080/maven-alternative-m2-directory export MAVEN_OPTS="-Dmaven.repo.local=/path/to/repository" {{category2 プログラミング言語,Java}}