Maven で Java バージョンを指定する方法: プロパティとコンパイラ プラグイン?
Nov 12, 2024 am 10:38 AMMaven での Java バージョンの指定: プロパティとコンパイラー プラグイン
Maven での Java バージョンの指定により、プロジェクトのコンパイルに必要な JDK バージョンを設定できます。これを行うには、主に 3 つの方法があります: Spring Boot 機能を使用する、ソースとターゲットを指定した Maven コンパイラ プラグイン、またはリリースを指定した Maven コンパイラ プラグインを使用する
Spring Boot (一般的な使用には推奨されません)
<properties> <java.version>1.8</java.version> </properties>
このメソッドは Spring Boot プロジェクトでのみ使用できます。
Mavenソースとターゲットを備えたコンパイラー プラグイン
<plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins>
このメソッドは、ソースとターゲットの JDK バージョンを明示的に設定します。
リリースを備えた Maven コンパイラー プラグイン
<properties> <maven.compiler.release>9</maven.compiler.release> </properties>
このメソッドは、ソース、ターゲット、JDK バージョンを均一に設定する release 引数を指定します。
プロパティとコンパイラ プラグインの違い
1.ソースとターゲット:
- maven-compiler-plugin プロパティと maven.compiler.source/maven.compiler.target プロパティは同等の結果を生成します。
2.デフォルト値:
- どちらのメソッドも、Maven コンパイラ プラグインのバージョンに基づいてデフォルトのソース バージョンとターゲット バージョンを設定します。
3. Java バージョンの互換性:
- 指定された Java バージョンは、JAVA_HOME によって参照される JDK のバージョンを超えてはなりません。
4.コンパイラー プラグインの呼び出し:
- Maven は、pom.xml で明示的に宣言されていない場合でも、コンパイル用に Maven コンパイラー プラグインを自動的に組み込みます。
への道使用しますか?
Java 8 以前の場合:
maven.compiler.source/maven.compiler.target プロパティまたは Maven コンパイラー プラグインのいずれかを使用します。
Java 9 以降および上:
ソース、ターゲット、ブートストラップに単一のバージョンを設定したい場合は、release 引数の使用を検討してください。
クロスコンパイル オプション
JAVA_HOME によって参照される JDK が指定された Java バージョンと互換性がない場合は、互換性のあるコンパイラを明示的に提供できますバージョンと実行可能ファイル:
<configuration> <source>1.8</source> <target>1.8</target> <compilerVersion>1.8</compilerVersion> <fork>true</fork> <executable>D:\jdk1.8\bin\javac</executable> </configuration>
結論
方法の選択は、特定の要件とプロジェクトの設定によって異なります。各メソッドには、Java バージョンを指定し、クロスコンパイル シナリオを処理するためのさまざまなオプションが用意されています。ただし、コンパイルを成功させるには、指定したバージョンとインストールされている JDK との互換性を確保することが重要です。
以上がMaven で Java バージョンを指定する方法: プロパティとコンパイラ プラグイン?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











2025年のトップ4 JavaScriptフレームワーク:React、Angular、Vue、Svelte

Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか?

高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか?

カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか?

Spring Boot Snakeyaml 2.0 CVE-2022-1471問題修正
