不知道其他人有没有像我一样,工作一段时间后就想找个开源项目读读代码,可是大都时候又觉得无从下手,最近又整理了下,搭建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:
spring-oxm
with ./gradlew cleanIdea :spring-oxm:compileTestJava
spring-aspects
module (Go to File->Project Structure->Modules)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源码阅读环境时,一定要仔细查看官方文档。