kotlin 1.3的版本已经被最新的idea标记为弃用。在单独打开一个分模块工程,居然给我看这个
Kotlin: Language version 1.3 is no longer supported; please, use version 1.4
最后只能这样临时解决
如果在2.3.7提升kotlin版本,会收到kotlin/collections/MapsKt的错误。应该是1.4删掉会移动了一个类。
生版本是一个很好的选择。
spring cloud alibaba 官方的版本推荐
虽然很早就标注了2.4.2和spring cloud2020.0.1的支持,但是在阿里自身的初始化项目网站,如果选了2.4.2,nacos直接的灰了。
于是,我们需要了解版本差异。
最终我们需要适配的版本
解决方法:UTF-8 UTF-8 11 11 11 2020.0.1 2.4.2 2021.1 1.4.31
一 、 重新引入bootstrap的支持
2.4.2弃用了bootstrap,允许可以重新引入
org.springframework.cloud spring-cloud-starter-bootstrap
配置上稍微发生了一点变化是spring-application-name配置服务名称的需要改为
spring:
cloud:
nacos:
discovery:
service: appname
二、弃用ribbon 引入loadbalancer
2.4.2弃用了ribbon采用了loadbalancer,如果你直接调nacos的负载均衡,它会告诉你找不到。
com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery 2021.1 org.springframework.cloud spring-cloud-starter-netflix-ribbon org.springframework.cloud spring-cloud-starter-loadbalancer
loadbalancer 依然适用之前的@LoadBalanced的注解。
@Configuration
public class WebClientConfig {
@LoadBalanced
@Bean
public WebClient.Builder clientBuilder() {
return WebClient.builder();
}
}
但是个人推荐使用
@Autowired
private LoadBalancedExchangeFilterFunction lbFunction;
使用时根据内外网初始化
WebClient.builder().filter(lbFunction).build() WebClient.create()



