Maven プラグイン

 


☕️ Mavenプラグイン

Mavenプロジェクトの開発をしていると、「デフォルトのコンパイル設定じゃうまくいかない…」なんて壁にぶつかることがあります。特に多くの開発者が直面するであろう、Mavenコンパイラプラグインの設定変更について、具体例を交えながら解説します。

💡 なぜMavenコンパイラプラグインの設定変更が必要なの?

Mavenは非常に強力なツールですが、その多くの機能は実は「プラグイン」によって提供されています。そして、Mavenがプロジェクトをコンパイルする際も、その役割を担っているのが「Mavenコンパイラプラグイン」です。

しかし、このプラグインにはデフォルト設定があり、古いバージョンのJava(例:Java 1.5)をターゲットにしています。そのため、もしあなたがJava 8などの新しい機能(例えば、ダイヤモンド演算子 <>)を使ったコードを書くと、Mavenは古いJavaのルールでコンパイルしようとするため、ビルドが失敗してしまうのです。

設定項目デフォルト値
source1.5
target1.5

🛠️ コンパイラプラグインの設定手順

それでは、実際にpom.xmlを編集して、コンパイラプラグインの設定を変更してみましょう。今回はJava 8をターゲットにする例で進めていきます。

ステップ1:POMファイルを開く

まず、プロジェクトのルートにあるpom.xmlファイルをテキストエディタで開きます。

ステップ2:<build>セクションを追加する

pom.xmlファイルの一番下に、<project>タグの直前に、<build>セクションを追加します。もし既に<build>セクションが存在する場合は、その中に<plugins>セクションを追加します。

<project>
  ...
  <build>
    <plugins>
      </plugins>
  </build>
</project>

ステップ3:コンパイラプラグインの設定を記述する

<plugins>タグの中に、以下のコードを貼り付けてください。

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>3.8.1</version>
  <configuration>
    <source>1.8</source>
    <target>1.8</target>
  </configuration>
</plugin>
  • <groupId><artifactId>: プラグインを一意に特定するための情報です。

  • <version>: 使用するプラグインのバージョンです。

  • <configuration>: このプラグインの動作をカスタマイズするための設定セクションです。

    • <source>: ソースコードが書かれたJavaのバージョンを指定します。

    • <target>: コンパイルされたクラスファイルが動作するJavaのバージョンを指定します。

ここでは1.8(または8)と記述することで、コンパイルのターゲットをJava 8に設定しています。

ステップ4:ビルドを実行する

pom.xmlファイルを保存したら、ターミナルで以下のコマンドを実行してみましょう。

mvn clean install

設定が正しく行われていれば、ビルドは成功するはずです!

🚀 変更をGitリポジトリにプッシュする

設定変更が完了したら、その変更内容をチームメンバーと共有するために、Gitリポジトリにプッシュしましょう。

  1. 変更を確認:git statusコマンドで、変更されたファイル(pom.xmlApplication.java)を確認します。

  2. コミット:git commit -a -m "コンパイラプラグインをJava 1.8に設定"-aオプションは、変更されたすべてのファイルをステージングエリアに追加します。-mオプションは、コミットメッセージをインラインで記述します。

  3. プッシュ:git push これで変更内容がリモートリポジトリに反映されます。


これで、Java 8の最新機能を使ったコードも、Mavenコンパイラプラグインの新しい設定で正しくビルドできるようになります。Mavenのプラグインは、プロジェクトのビルドプロセスを柔軟にカスタマイズするための非常に強力な機能です。


前の記事:Maven クイックスタート

次の記事:Maven 依存関係