环境说明
- Mac
- Kotlin 1.3.72
- Gradle 6.4
- Java 1.8
- Sping Boot 2.2.0
项目地址
Axin-SpringCloud
如果帮助到了您,动动小手,帮忙给个star。
步骤说明
说明
首先明确兼容的Spring Cloud
的版本,可以在这里查询Spring Cloud
这里我贴出来下:
Table 1. Release train Spring Boot compatibility
Release Train |
Boot Version |
Hoxton |
2.2.x |
Greenwich |
2.1.x |
Finchley |
2.0.x |
Edgware |
1.5.x |
Dalston |
1.5.x |
因为我的SpingBoot是2.2.0,所以你一会在build.gradle中会看到
springCloudVersion = 'Hoxton.RELEASE'
创建项目
这里快速的过一下,老鸟自己略过。。。
![](/images/kotlin_spring_cloud_2.png)
Create New Project
![](/images/kotlin_spring_cloud_3.png)
选择Spring Initiallizr->Project SDK->java 1.8->NEXT
![](/images/kotlin_spring_cloud_4.png)
Group:输入自己的包名->Artifact:输入自己小写的项目名->Type:Gradle Project ->Language:Kotlin->NEXT
![](/images/kotlin_spring_cloud_5.png)
这里不需要其他依赖->NEXT
![](/images/kotlin_spring_cloud_6.png)
点完成后项目开始构建如下图:
![](/images/kotlin_spring_cloud_7.png)
我这里使用的是本地Gradle(建议使用)
叉掉,选择本地Gradle
![](/images/kotlin_spring_cloud_8.png)
点应用后,更改主项目build.gradle
build.gradle.kts 改为 build.gradle,以下是我已经测试成功的。
group = 'com.axinblog' version = '0.0.1'
buildscript {
ext { // Required for Kotlin integration kotlinVersion = '1.3.72' springBootVersion = '2.2.0.RELEASE' springCloudVersion = 'Hoxton.RELEASE' }
repositories { // 镜像仓库 maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } maven { url 'https://maven.aliyun.com/repository/google/' } maven { url 'https://maven.aliyun.com/repository/jcenter/' } jcenter() mavenCentral() }
dependencies { // See https://kotlinlang.org/docs/reference/compiler-plugins.html#spring-support classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" // Required for Kotlin integration classpath "org.jetbrains.kotlin:kotlin-allopen:$kotlinVersion" // 让spring-boot支持gradle classpath "org.springframework.boot:spring-boot-gradle-plugin:$springBootVersion" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" } }
// 所有的项目配置 allprojects { apply plugin: 'java' apply plugin: 'idea' // Required for Kotlin integration apply plugin: 'kotlin' // https://kotlinlang.org/docs/reference/compiler-plugins.html#spring-support apply plugin: "kotlin-spring" apply plugin: 'org.springframework.boot' apply plugin: 'io.spring.dependency-management' sourceCompatibility = '1.8' targetCompatibility = '1.8'
dependencyManagement { // 解决cloud零散jar的版本问题 imports { mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}" } }
repositories { // 镜像仓库 maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } maven { url 'https://maven.aliyun.com/repository/google/' } maven { url 'https://maven.aliyun.com/repository/jcenter/' } jcenter() mavenCentral() }
dependencies { implementation('org.springframework.boot:spring-boot-starter-web') testCompile('org.springframework.boot:spring-boot-starter-test')
/** * Spring Boot Web应用程序需要3个Kotlin特定的库,并默认配置: */ implementation 'org.jetbrains.kotlin:kotlin-reflect' implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8' implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.0-M1' }
compileKotlin { kotlinOptions { jvmTarget = "1.8" } }
compileTestKotlin { kotlinOptions { jvmTarget = "1.8" } } }
|
![](/images/kotlin_spring_cloud_9.png)
点Import Changes
等待Gradle构建完成,这里主项目框架就创建完成了
参考文献
快速搭建SpringCloud环境