Skip to content

為您的 Maven 專案配置 Kotlin 編譯器

kotlin-maven-plugin 允許您為 Maven 專案配置 Kotlin 編譯器。 您可以指定編譯器選項、選擇執行策略,並啟用增量編譯。

指定編譯器選項

您可以在 Kotlin Maven 外掛程式節點的 <configuration> 區段中,將額外的選項與引數指定為元素:

xml
<plugin>
    <groupId>org.jetbrains.kotlin</groupId>
    <artifactId>kotlin-maven-plugin</artifactId>
    <version>${kotlin.version}</version>
    <extensions>true</extensions> <!-- 如果您想要在外掛程式建置中啟用自動加入執行 -->
    <executions>...</executions>
    <configuration>
        <nowarn>true</nowarn> <!-- 停用警告 -->
        <args>
            <arg>-Xjsr305=strict</arg> <!-- 為 JSR-305 註解啟用嚴格模式 -->
            ...
        </args>
    </configuration>
</plugin>

許多選項也可以透過屬性進行配置:

xml
<project>
    <properties>
        <kotlin.compiler.languageVersion>2.3</kotlin.compiler.languageVersion>
    </properties>
</project>

支援以下屬性:

針對 JVM 的特定屬性

名稱屬性名稱說明可能的值預設值
nowarn不產生警告true, falsefalse
languageVersionkotlin.compiler.languageVersion提供與指定 Kotlin 版本的原始碼相容性"1.9", "2.0", "2.1", "2.2", "2.3", "2.4" (實驗性)
apiVersionkotlin.compiler.apiVersion僅允許使用來自指定版本隨附程式庫的宣告"1.9", "2.0", "2.1", "2.2", "2.3", "2.4" (實驗性)
sourceDirs包含要編譯的原始碼檔案目錄專案原始碼根目錄
compilerPlugins啟用的編譯器外掛程式[]
pluginOptions編譯器外掛程式的選項[]
args額外的編譯器引數[]
jvmTargetkotlin.compiler.jvmTarget產生的 JVM 位元組碼目標版本"1.8", "9", "10", ..., "25""1.8"
jdkHomekotlin.compiler.jdkHome從指定位置包含自訂 JDK 到 classpath,而非使用預設的 JAVA_HOME

選擇執行策略

預設情況下,Maven 使用 Kotlin daemon 編譯器執行策略。若要切換到「進程內 (in process)」策略,請在您的 pom.xml 檔案中設定以下屬性:

xml
<properties>
    <kotlin.compiler.daemon>false</kotlin.compiler.daemon>
</properties>

有關不同策略的更多資訊,請參閱編譯器執行策略

啟用增量編譯

為了加快建置速度,您可以透過加入 kotlin.compiler.incremental 屬性來啟用增量編譯:

xml
<properties>
    <kotlin.compiler.incremental>true</kotlin.compiler.incremental>
</properties>

或者,使用 -Dkotlin.compiler.incremental=true 選項來執行建置。

下一步?

封裝您的專案