[size=large] 背景:由于最近较为系统地学习了一下Ant,文中提到了要多参考Tomcat、Spring等开源产品的build.xml写法,于是心想干脆将Tomcat、Spring等开源代码导入到Eclipse中来看看。
——————————————Tomcat源码——————————————
本人使用的Ant版本为1.8.1
Tomcat版本为6.0.26 JDK版本为1.6.10
构建过程:
1、 下载Tomcat源码(使用的是直接下载的方式)
2、 安装好Ant(如果你已经安装好了跳过)
3、 找到%ANT_HOMT%\目录下的build.properties.default并改名为build.properties找到base.path,在其后填上一个本地目录(用于存储Ant构建Tomcat所需的依赖项目)
4、 命令行下切换到Tomcat源代码所在路径如D:\OpenSource\apache-tomcat-6.0.26-src目录然后运行ant download,此下载时间可能需要比较长的时间
注意:如果第4步下载成功的话则没必要再看5和6了。
5、 我在下载途中出现了下载失败的错误, 于是我果断地在浏览器直接键入http://archive.eclipse.org/eclipse/downloads/drops/R-3.3.1-200709211145/eclipse-JDT-3.3.1.zip进行下载,大小为22.3M。
6、 将eclipse-JDT-3.3.1.zip直接解压在base.path所指定的目录下(注意是直接解压)
7、 在cmd中键入ant命令,开始构建... ... 构建途中出现如下警告:
warn.dbcp:
[echo] WARNING: tomcat-dbcp.jar not included, this build can't be used
[echo] in a release. Please run 'ant download' with JDK1.5 if you are
[echo] building a tomcat release.
无碍大局不管它... ...
至此Ant构建Tomcat就完工了, 你会发现%Tomcat_Home%目录下多了一些东东,如output文件夹, conf文件夹及.classpath和.project
[size=large]——————————
将Tomcat导入到Eclipse中运行——————————
1、导入
2、导入之后会发现有一些错误,修改工程中的jar包,所需的jar包如下图所示:
3、 jar包来源
ant.jar来自于ant/lib中;
org.eclipse.jdt.core_3.3.1.v_780_R33x.jar来自于%base.path%\eclipse\plugins中;
jax.rpc.jar和wsdl4j-1.6.1.jar需要单独下载
4、 启动tomcat,启动配置如下图所示:
5、 成功,出现了那个熟悉的界面
补充: 通过Ant去启动与关闭tomcat
关闭:
<target name="tomcat.stop">
<java jar="${tomcat.home}/bin/bootstrap.jar" fork="true">
<jvmarg value="-Dcatalina.home=${tomcat.home}"/>
<arg line="stop"/>
</java>
<waitfor maxwait="5" maxwaitunit="second">
<available file="errors.log"/>
</waitfor>
</target>
[size=large]——————————————
Spring源码————————————————
我的Srping版本为3.0.1-release
1、 下载spring源码
方法A:使用SVN
方法B:使用CVS,参考资料:
http://luzl.iteye.com/blog/424686
方法C: 就是直接下载源码(我采取的方式)
2、 导入Eclipse
由于下载的源码为spring-framework-3.0.2.RELEASE版本的,而使用spring依赖包则为spring-framework-3.0.1.RELEASE-dependencies,因此这个受的折磨就多点了... ...
导入方式一:
A、 直接导入源码是肯定通不过的,在源码目录新建一个.project文件,文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>SpringFramework</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
<natures>
</natures>
</projectDescription>
注意: 这是将JRE导进来(不想这样的话,自己在工程里导也可以)
B、 导入之后源码也确实是没有报什么错误,但是发现查看源码时不能链接进源码中去
导入方式二:
直接新建一个Java Project,然后再工程上添加floderz:org,再在org的基础上添加floder:springframework,然后将springframework中的所有源码导入即可
问题是如何以链接源码中去? ——下载spring依赖包... ...
总结:
A、网上下载jar包时不仅仅jar名字相同就行了,还要看大小。如我下载hibernate-validator-4.1.0.Final.jar,原版大小为280KB,而网上有许多大小不一的jar包。
B、对于同一路径下存在不同版本的多个.jar文件,那么Eclipse会优先加载版本低的,所以要注意此问题。
花了几个小时搭建整个环境,如果不好好研究一下源码的话 那么这部分工作的价值也就不存在了,抽点时间研究研究!!!
[/size]