当前位置: 首页 > 工具软件 > spring-jfinal > 使用案例 >

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

逑衡
2023-12-01

不知道其他人有没有像我一样,工作一段时间后就想找个开源项目读读代码,可是大都时候又觉得无从下手,最近又整理了下,搭建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源码阅读环境时,一定要仔细查看官方文档。

 类似资料: