点击上方"IT牧场",选择"设为星标"
技术干货每日送达!
构建环境
macOS 10.13.6
JDK1.8
IntelliJ IDEA 2018.3.6 (Ultimate Edition)
Spring v5.1.9.RELEASE
Gradle 5.5.1。直接使用brew安装Gradle
brew install gradle
源码构建
源码导入
阅读Spring源码下的 import-into-idea.md 文件可知,需要预先编译
spring-oxm
模块:
Precompile
spring-oxm
with./gradlew :spring-oxm:compileTestJava
修改 gradle/docs.gradle 脚本。一开始尝试直接构建Spring源码,在构建的过程中会报错,通过修改docs.gradle 脚本,注释
dokka
和asciidoctor
。
源码构建。
等了好长好长的时间,终于构建完成了。
在Spring项目中新增一个自己的module,尝试运行hello world,引入spring-context 依赖:
compile(project(":spring-context"))
运行main方法,发现报错
Error:(160, 32) java: 找不到符号 符号: 变量InstrumentationSavingAgent 位置:
网上搜索了一大堆的解决方法,发现都不行。后来看了spring-context的依赖发现,spring-instrument 在 spring-context 中为 optional 依赖:optional(project(":spring-instrument"))
,于是在自己的模块中添加spring-instrument依赖
再次运行main方法,程序运行成功。
ps:令我感到奇怪的是,当我在写这篇总结时,尝试通过移除spring-instrument依赖来复现上述的问题时,发现复现不了了,好神奇。
干货分享
最近将个人学习笔记整理成册,使用PDF分享。关注我,回复如下代码,即可获得百度盘地址,无套路领取!
•001:《Java并发与高并发解决方案》学习笔记;•002:《深入JVM内核——原理、诊断与优化》学习笔记;•003:《Java面试宝典》•004:《Docker开源书》•005:《Kubernetes开源书》•006:《DDD速成(领域驱动设计速成)》•007:全部•008:加技术讨论群
近期热文
•Spring Boot 2.0 迁移指南•阿里巴巴资深技术专家雷卷:值得开发者关注的 Java 8 后时代的语言特性•完美整合Spring Cloud与异构微服务的框架!Spring Cloud Wii开源啦!•每天用SpringBoot,还不懂RESTful API返回统一数据格式是怎么实现的?•实用 Chrome 插件汇总(42个哟!)•盘点10个最难回答的Java面试题
想知道更多?长按/扫码关注我吧↓↓↓>>>技术讨论群<<<喜欢就点个"在看"呗^_^