Spring Security作为一个著名的开源安全解决方案,非常值得进行源代码分析,目前的版本是3.1.0.RC2。
Spring Security 3目前已经迁移到Git和Gradle,和Spring Framework使用的SVN和Ivy不同,给源代码构建带来了一定的复杂度。
1.安装必要的工具
JDK 1.6
Ant >1.7
Git
Gradle
2.下载源代码
安装了GIT,下载代码就比较方便,可以使用
git clone git://git.springsource.org/spring-security/spring-security.git
可以下载最新的代码,源代码分析建议使用稳定版本,如3.1.0.RC2,GIT切换版本非常方便,这点令人佩服。
切换到3.1.0.RC2可以采用下面命令:
git checkout 3.1.0.M2
3.编译
运行命令:
gradlew build
一般情况下会出错,并且gradle不熟悉,出了问题很难解决。
一般不需要运行测试代码,所以可以运行以下命令:
gradle assemble
通常会遇到下载类库,或者类库版本的问题,需要自己下载相应的类库,加入到 相应的.gradle/cache或者.m2/repository目录下就可以了。
一个技巧,可以运用行gradle tasks命令,列出所有的tasks,选择合适的就可以了。
4. 导入Eclipse
编译完成后,可以运行以下命令生产Eclipse项目:
gradle eclipse
完成后,利用Eclipse导入现有项目就可以了。
5. 运行例子
以spring-security-samples-tutorial为例,运行是会发现找不到jar包,解决方法是:
打开项目properites,选择Deployment Assembly,点击add,加入Java Build Path Entry,就可以在Eclipse中运行了。
6. 分析源码
这个就不用讲了,呵呵。