Java プレビュー言語機能
Java でプレビュー言語機能を使用するには、コンパイラとランタイム・システムで明示的にプレビュー言語機能を有効化する必要があります。
JDK リリース n のプレビュー機能を使用するソース・コードをコンパイルするには、--enable-preview
オプションを --release n
または -source n
オプションと組み合せて javac を実行します。
たとえば、MyApp.java
という名前のアプリケーションで、JDK 20 のプレビュー言語機能を使用する場合は以下のようにコンパイルします。
$ javac --enable-preview --release 20 MyApp.java
実行時には以下のように指定します。
$ java --enable-preview MyApp
プレビュー機能の役割とライフサイクルについてはJEP 12を参照してください。
Gradle Kotlin DSL でプレビュー機能を有効化する
コンパイル、テスト実行、実行、およびJavaDoc時にプレビュー機能を有効にするには、build.gradle.kts
で以下のスニペットを使用できます。
tasks.withType<JavaCompile>().configureEach { options.compilerArgs.add("--enable-preview") } tasks.withType<Test>().configureEach { jvmArgs("--enable-preview") } tasks.withType<JavaExec>().configureEach { jvmArgs("--enable-preview") } tasks.withType<Javadoc>().configureEach { options { this as StandardJavadocDocletOptions addBooleanOption("-enable-preview", true) addStringOption("-release", "20") } }
コンパイル時には、 --release
または -source
を指定する必要はありません(Gradle側で指定されます)。
アプリケーションプラグインを利用している場合は、applicationDefaultJvmArgs
に設定します。
application {
applicationDefaultJvmArgs = listOf("--enable-preview")
}
applicationDefaultJvmArgs
の引数は、実行用の shell スクリプトに反映されます。
Gradle Groovy DSL でプレビュー機能を有効化する
コンパイル、テスト実行、実行、およびJavaDoc時にプレビュー機能を有効にするには、build.gradle
で以下のスニペットを使用できます。
tasks.withType(JavaCompile).configureEach { options.compilerArgs += "--enable-preview" } tasks.withType(Test).configureEach { jvmArgs += "--enable-preview" } tasks.withType(JavaExec).configureEach { jvmArgs += "--enable-preview" } tasks.withType(Javadoc).configureEach { options.addBooleanOption("-enable-preview", true) options.addStringOption("-release", "20") }