これまで、Javaのビルドツールとして長らくAntを使ってきましたが、参画するプロジェクトではMavenが使われており、こちらの参考書で勉強を始めました。が、さっそく躓きました。
Javaビルドツール入門 Maven/Gradle/SBT/Bazel対応
最初に、以下のコマンドでMavenのプロジェクトを作成します。(Eclipseでも可)
mvn archetype:generate
その後、以下のコマンドでプログラムをコンパイルするゴール「compile」を指定して、mvnコマンドを実行せよとあります。
mvn compile
しかし、こちら実行するとエラーになってしまう。
「Unknown lifecycle phase “complie”.」。つまり、complieなんてライフサイクルは知らぬと言われています。でも、pom.xmlにはちゃんとcomplieがあります!
大人しく、エラーメッセージにあるURLを表示してみます。
https://cwiki.apache.org/confluence/display/MAVEN/LifecyclePhaseNotFoundException
mvnコマンドの実行例があります。そんでもって、エラーメッセージもよく見ると、指定方法を教えてくれています。
[ERROR] Unknown lifecycle phase “complie”. You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>.
つまり、ゴールだけを指定するのではだめで、例えば、<plugin-prefix>:<goal>の形式(mvn compiler:complie)で指定すると、上手くいった。
なぜだろう、参考書のMavenは3.3.9を使っており、私のバージョンは3.6.2。バージョン差異のせいなのだろうか・・・
まだ、もやもやするがきっとこの参考書を読み進めればわかると信じて進むべし。(つ_-*)。οΟ