使用 Maven
插件与版本
kotlin-maven-plugin 用于编译 Kotlin 源码与模块,当前只支持 Marven V3
通过 kotlin.version 指定所要使用的 Kotlin 版本,The correspondence between Kotlin releases and versions is displayed below:
Milestone | Version |
---|---|
1.0.3 | 1.0.3 |
1.0.2 hotfix update | 1.0.2-1 |
1.0.2 | 1.0.2 |
1.0.1 hotfix update 2 | 1.0.1-2 |
1.0.1 hotfix update | 1.0.1-1 |
1.0.1 | 1.0.1 |
1.0 GA | 1.0.0 |
Release Candidate | 1.0.0-rc-1036 |
Beta 4 | 1.0.0-beta-4589 |
Beta 3 | 1.0.0-beta-3595 |
Beta 2 | 1.0.0-beta-2423 |
Beta | 1.0.0-beta-1103 |
Beta Candidate | 1.0.0-beta-1038 |
M14 | 0.14.449 |
M13 | 0.13.1514 |
M12.1 | 0.12.613 |
M12 | 0.12.200 |
M11.1 | 0.11.91.1 |
M11 | 0.11.91 |
M10.1 | 0.10.195 |
M10 | 0.10.4 |
M9 | 0.9.66 |
M8 | 0.8.11 |
M7 | 0.7.270 |
M6.2 | 0.6.1673 |
M6.1 | 0.6.602 |
M6 | 0.6.69 |
M5.3 | 0.5.998 |
依赖
Kotlin 提供了大量的标准库以供开发使用,需要在 pom 文件中设置以下依赖:
<dependencies>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib</artifactId>
<version>${kotlin.version}</version>
</dependency>
</dependencies>
仅编译 Kotlin 源码
在 <build> 标签中指定所要编译的 Kotlin 源码目录:
<build>
<sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory>
<testSourceDirectory>${project.basedir}/src/test/kotlin</testSourceDirectory>
</build>
Maven 中需要引用 Kotlin 插件用于编码源码:
<build>
<plugins>
<plugin>
<artifactId>kotlin-maven-plugin</artifactId>
<groupId>org.jetbrains.kotlin</groupId>
<version>${kotlin.version}</version>
<executions>
<execution>
<id>compile</id>
<goals> <goal>compile</goal> </goals>
</execution>
<execution>
<id>test-compile</id>
<goals> <goal>test-compile</goal> </goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
同时编译 Kotlin 与 Java 源码
编译混合代码时 Kotlin 编译器应先于 Java 的编译器被调用。 在 Maven 中这表示 kotlin-maven-plugin 先于 maven-compiler-plugin 运行。
It could be done by moving Kotlin compilation to previous phase, process-sources(如果有更好的解决方案欢迎提出):
<build>
<plugins>
<plugin>
<artifactId>kotlin-maven-plugin</artifactId>
<groupId>org.jetbrains.kotlin</groupId>
<version>${kotlin.version}</version>
<executions>
<execution>
<id>compile</id>
<phase>process-sources</phase>
<goals> <goal>compile</goal> </goals>
</execution>
<execution>
<id>test-compile</id>
<phase>process-test-sources</phase>
<goals> <goal>test-compile</goal> </goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
OSGi
OSGi支持查看 Kotlin OSGi page.
例子
Maven 工程的例子可从 Github 直接下载