如何阅读开源代码(spring-framework,jfinal两个项目为例)

不知道其他人有没有像我一样,工作一段时间后就想找个开源项目读读代码,可是大都时候又觉得无从下手,最近又整理了下,搭建spring源码阅读环境确实麻烦一些。先说下我的环境:操作系统:mac,开发ide:IDEA
准备工作:github账号,本地安装好git,maven,jdk8

首先是Jfinal比较简单些:
步骤:

1下载github上的源码
https://github.com/jfinal/jfinal

2下载demo

3将源码和demo都导入idea,将demo中jfinal jar去掉,改为依赖jfinal模块即可。

Spring的环境搭建:
步骤:

1 git clone https://github.com/spring-projects/spring-framework 后导入idea
github文档:## Steps

Within your locally cloned spring-framework working directory:

  1. Pre-compile spring-oxm with ./gradlew cleanIdea :spring-oxm:compileTestJava
  2. Import into IDEA (File->import project->import from external model->Gradle)
  3. Set the Project JDK as appropriate (1.8+)
  4. Exclude the spring-aspects module (Go to File->Project Structure->Modules)
  5. Code away
    特别是先编译spring-oxm,使用JDK8,去除aspects模块

2 新建一个spring-demo项目,依赖于需要的源码模块
使用spring struts2,hibernate搭建demo项目,我做的demo 地址:https://github.com/shenyb/ssh-demo.git

问题:
1 在模块依赖了spring模块后,demo中POM中的依赖不能去除,否则启动报错
2 JDK8在idea设置后总提示找不到的问题,将jdk8设置为默认,在重新倒入一遍
3 导入eclipse会不显示源码包,没有成功
4 idea15会出问题,用idea14则没问题。
5使用mvn tomcat7:run,一开始成功,后来报错aused by: org.apache.catalina.LifecycleException: A child container failed during start
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
… 6 more
原因还没找到,但是放到本地tomcat运行则没问题。
6不要依赖web-porlet模块,否则报错

注意:搭建spring源码阅读环境时,一定要仔细查看官方文档。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱美事爱生活

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值