运行hello world是可以运行的,然后写接口运行的时候就出现这了,这个错误和警告在我排除spring-aspects后,重新build项目的时候也出现了

来源:2-3 Spring源码的下载和编译

慕工程7462913

2020-03-26

第一次部署,问题一直没能解决,虽然第二次成功了,但是还是希望有解决的同学能帮助我看一下

IDEA控制台信息:

  • Information:Kotlin: kotlinc-jvm 1.2.51 (JRE 1.8.0_191-b12)

  • Information:2020/3/26 0:01 - Compilation completed with 1 error and 1 warning in 1 s 229 ms

  • Error:Kotlin: warnings found and -Werror specified

  • Warning:Kotlin: Language version 1.3 is experimental, there are no backwards compatibility guarantees for new language and library features
    图片描述
    图片描述
    运行hello world是可以运行的,然后写接口运行的时候就出现这了,这个错误和警告在我排除spring-aspects后,重新build项目的时候也出现了,其他地方没有出现。我的jdk是8,jdk8应该可以用吧。

  • 下面是IDEA kotlin 版本信息
    kotlin
    图片描述

  • JDK版本
    JDK版本
    我再把Build里的信息截图放到这儿
    图片描述

第二次,跟第一次一样,编译时没遇到问题,导入IDEA Build 时遇到两个问题。

问题一、如下图:

图片描述

问题一解决方法:

  • 找到IDEA 安装目录下的 util.jar 包,util.jar 包的目录 - > idea\IntelliJ IDEA 2018.2.3\lib。这个目录下有一个util.jar 包拷贝到一个临时目录
  • doc窗口切换到我们的临时目录使用命令:jar xvf ./util.jar ,解压jar
  • 修改 util\misc\registry.properties 这个文件,任意位置添加该配置:kotlin.gradle.testing.enabled=false
  • 重新打包util.jar,新建一个util文件夹,把刚刚解压的东西全放进去,但后再dos窗口,切换目录到util文件夹的上一级目录,执行命令:jar cvfm util.jar .\util\META-INF\MANIFEST.MF -C .\util .,这里执行命令的目录搞清楚,.\就是当前目录下。
  • 然后把打成的jar包复制过去,替换掉原来的

再build时,第一个问题解决了,出现了新的问题,问题二如下。

问题二,如下图:

图片描述

问题二解决方法

参考文章
发现是因为CoroutinesUtils是kotlin的一个工具类,Spring源码包读取不到。
使用如下方法即可解决该工具类读不到的问题:

  • 1、找到spring-framework-master\spring-core-coroutines\build\libs 下面的spring-core-coroutines-5.2.0.BUILD-SNAPSHOT.jar包
  • 选中改jar包右键——> Add as Library,将jar包导入spring-core,其它模块应该都引入了core模块,这里导入core模块。
  • 选中工具栏Build——> Rebuild Project
    等Spring源码重新构建之后,就可以使用本地程序调用Spring源码了。

之后就可以了,运行截图
图片描述
但是,第一次导入的项目现在还没解决,有遇到类似问题的同学希望可以指点一下,谢谢了先!

写回答

2回答

翔仔

2020-03-26

同学好,感觉是Kotlin版本不兼容导致的呢,build.gradle是不是配置有问题?因为里面提示某些方法是找不到对应的符号引用的

直接用我源码的build.gradle试试?太长贴不上来。因为spring编译环境我们都不一致,所以很难精确定位问题,但是这里可以肯定是kotlin版本有问题

找到一个相似的,但是好像也不是这个问题 https://blog.csdn.net/sunnyhouhou/article/details/103489370



0
3
慕工程7462913
回复
翔仔
好的老师,我找出根源之后会来更新的。
2020-03-29
共3条回复

纯情的慕哥

2020-05-16

关于“发现是因为CoroutinesUtils是kotlin的一个工具类,Spring源码包读取不到。”这个问题,

我将jar包导入spring-core行不通,要导入spring-core.main.....

0
0

剑指Java自研框架,决胜Spring源码

快速入门Spring核心源码+从零开发自研框架

1498 学习 · 495 问题

查看课程