Kotllin与Maven和Gradle的集成
来源:互联网 发布:linux命令怎么退出vi 编辑:程序博客网 时间:2024/05/20 23:39
Intellij IDEA对Kotlin语言提供了完善的支持,我们可以方便的创建项目。但是IDEA项目毕竟只是针对单个IDE的,无法很好的跨环境。Kotlin同时也提供了针对Maven和Gradle的支持。我们可以非常方便的在现有的Java项目中引入Kotlin。
和Maven集成
Kotlin文档提供了详细的配置,包括只配置Kotlin编译环境、同时编译Kotlin和Java等、只打包本项目文件、打包所有依赖等多种选项。
首先我们先定义一下Kotlin版本。昨天Kotlin1.1刚刚发布。现在Maven官方仓库也已经更新到了1.1了。
<properties> <kotlin.version>1.1.0</kotlin.version></properties>
有了版本号之后,我们就可以方便的声明Kotlin依赖了。
<dependencies> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib</artifactId> <version>${kotlin.version}</version> </dependency></dependencies>
然后需要指定Kotlin源代码的位置。这里的声明仅用于项目中只有Kotlin代码的情况。
<build> <sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory> <testSourceDirectory>${project.basedir}/src/test/kotlin</testSourceDirectory></build>
我们还需要声明Kotlin的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应该怎么办呢?官方文档也给出了相应的配置。由于这个配置文件很长,所以为了篇幅我就不抄了。大家如果有需求直接看文档就好了。这里也可以看出Maven的缺点,配置文件一言不合就长的没边了。
和Gradle集成
自从我学了Gradle之后(虽然只入了个门,还没学Groovy语言),我就不再用Maven了。别的不说,配置文件真的非常短。整个配置文件见下。
其实我们要做的就两件事情,一是声明buildscript片段,在其中配置Kotlin的版本、仓库等信息。二是添加kotlin插件。就这么点事情,Gradle就可以编译Kotlin代码了。默认情况下Kotlin代码的位置在src/main/kotlin
和src/test/kotlin
下。
buildscript { ext.kotlin_version = '1.1.0' repositories { mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" }}apply plugin: 'java'apply plugin: 'kotlin'sourceCompatibility = 1.8repositories { mavenCentral() jcenter()}dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" testCompile group: 'junit', name: 'junit', version: '4.12'}
如果需要自定义代码位置,在build.gradle
文件中添加下面一段即可。
sourceSets { main.kotlin.srcDirs += 'src/main/myKotlin' main.java.srcDirs += 'src/main/myJava'}
- Kotllin与Maven和Gradle的集成
- maven和gradle的比较与使用
- maven与findbugs的集成
- maven 与myeclipse的集成
- maven的安装配置和与eclipse集成
- maven的安装,maven与ecpliese集成
- maven与gradle的相互转换
- Gradle基于Apache Ant和Apache Maven概念的项目自动化构建工具本地安装及eclipse 项目集成
- Gradle、Ant和Maven的比较
- maven安装和与IDE集成
- 持续集成--Maven私有库和本地库的安装与配置 Sonatype Nexus + Maven
- Maven国内库的配置(Maven与Gradle)
- Maven和Gradle比较
- gradle和maven区别
- Maven和Gradle对比
- Maven 和 Gradle 对比
- Maven和Gradle对比
- Maven和Gradle对比
- JavaScript原型prototype
- Android 之 Application
- jquery中的ajax方法参数
- Shell脚本之sed详解
- springmvc 加载流程
- Kotllin与Maven和Gradle的集成
- Spring解析子元素constructor-arg
- SDNU——OJ——1016矩形合并
- 机器学习笔记6
- jzoj 4996. 【NOI2017模拟3.1】游戏 扫描线+treap
- BeanUtils组件
- 什么是分布式系统
- 蓝桥杯算法训练——安慰奶牛(最小生成树+kruskal)
- kafka与RocketMQ对比