ホームページ Java &#&チュートリアル Maven で Java バージョンを指定する方法: プロパティとコンパイラ プラグイン?

Maven で Java バージョンを指定する方法: プロパティとコンパイラ プラグイン?

Nov 12, 2024 am 10:38 AM

How to Specify Java Version in Maven: Properties vs. Compiler Plugin?

Maven での 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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

2025年のトップ4 JavaScriptフレームワーク:React、Angular、Vue、Svelte 2025年のトップ4 JavaScriptフレームワーク:React、Angular、Vue、Svelte Mar 07, 2025 pm 06:09 PM

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

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

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

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

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

node.js 20:キーパフォーマンスが向上し、新機能 node.js 20:キーパフォーマンスが向上し、新機能 Mar 07, 2025 pm 06:12 PM

node.js 20:キーパフォーマンスが向上し、新機能

Iceberg:データレイクテーブルの未来 Iceberg:データレイクテーブルの未来 Mar 07, 2025 pm 06:31 PM

Iceberg:データレイクテーブルの未来

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

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

Spring Boot Snakeyaml 2.0 CVE-2022-1471問題修正 Spring Boot Snakeyaml 2.0 CVE-2022-1471問題修正 Mar 07, 2025 pm 05:52 PM

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

キュウリのステップ間でデータを共有する方法 キュウリのステップ間でデータを共有する方法 Mar 07, 2025 pm 05:55 PM

キュウリのステップ間でデータを共有する方法

See all articles