预制条件和spring源码导入eclipse中一样,下面直接给出导入eclipse的步骤。
步骤:
1. 下载struts相应版本的源码 http://struts.apache.org/download.cgi 。我这里下载的是struts-2.3.16-all.zip。下载完成后解压到本地目录。
2. struts的源码是通过maven管理的,所以需要下载maven http://maven.apache.org/download.cgi 。下在完成后同样解压到本地目录,然后配置MAVEN_HOME、PATH环境变量。如果配置正确的话在cmd中输入:mvn -v 能够正确显示其版本号。此外需要修改本地仓库的位置:修改 %MAVEN_HOME%/conf/settings.xml文件,在settings中间配置repository:
1 settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 2 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> 4 <!-- localRepository 5 | The path to the local repository maven will use to store artifacts. 6 | 7 | Default: ${user.home}/.m2/repository 8 <localRepository>/path/to/local/repo</localRepository> 9 --> 10 <localRepository>E:/Maven/apache-maven-3.1.1/repositories</localRepository> 11 .........
该目录其实就是指定本地仓库的位置,也就是后续通过maven下载的包默认都放到该路径下。
3. 进入struts源码根路径下的src文件夹,可以看到一个pom文件。其实我们这时候就可以直接打开控制台输入: mvn eclipse:eclipse 来进行编译。不过这样后面会碰到编译失败的问题,分析后发现其实需要注释掉两个地方,一个是src文件夹下的pom.xml文件中:
1 <modules> 2 <module>xwork-core</module> 3 <module>core</module> 4 <module>apps</module> 5 <module>plugins</module> 6 <!-- 注释掉这两个子模块 --> 7 <!--<module>bundles</module> 8 <module>archetypes</module>--> 9 </modules>
一个是src/app/pom.xml中:
1 <modules> 2 <module>blank</module> 3 <!-- 注释掉这个模块 --> 4 <!-- <module>jboss-blank</module> --> 5 <module>mailreader</module> 6 <module>portlet</module> 7 <module>showcase</module> 8 <module>rest-showcase</module> 9 </modules>
注释掉之后在src目录下打开控制台输入: mvn eclipse:eclipse 即可。
4. eclipse需要安装maven插件。可以在eclipse的 help--->marketplace中搜索maven,然后安装如下版本即可:
安装完成之后,打开 windows--->preferences,搜索maven,配置instalations为MAVEN_HOME和user settings为MAVEN_HOME/conf/settings.xml即可:
4. 编译完成之后即可在eclipse中进行导入。实际上我们只需导入: core 和 xwork-core两个工程即可,其他工程用不到。
接下来就可以随意的对struts源码进行调试了。
黎明前最黑暗,成功前最绝望!