将JPetStore 6导入MyEclipse(部署至Tomcat)

在上一篇博文中,我简单介绍了将JPetStore 5导入MyEclipse的方法,实际上iBatis早已改名为MyBatis,其所有的demo项目都在google code上托管:https://code.google.com/p/mybatis/ ,JPetStore也已经于2011年6月推出了最新的第6版。所以这里再简单总结一下将部署JPetStore 6的方法。

在这里:https://code.google.com/p/mybatis/downloads/detail?name=mybatis-jpetstore-6.0.1-bundle.zip 下载压缩包并解压后,发现其中包含war包(可以直接部署)。但我们这里总结的是导入MyEclipse的方法,稍微麻烦一些:

将压缩包:mybatis-jpetstore-6.0.1-sources.zip,解压后,需要使用maven这一工具进行管理和部署,我之前没用过,这里简单说说(其实apache的项目用起来都差不多)。在这里:http://maven.apache.org/download.cgi 下载maven的压缩包并解压后,需要设置环境变量:首先新建一个环境变量M2_HOME,位置为maven解压包中bin目录的上一层;然后在path环境变量最后面添加:%M2_HOME%\bin。如果在cmd里面运行mvn后有结果,则说明设置成功。

在cmd中,进入mybatis-jpetstore-6.0.1-sources这一文件夹下,运行:

mvn package

成功之后再运行:

mvn eclipse:eclipse

这条命令的意思是生成eclipse项目,成功之后再运行:

mvn clean

这条命令的含义等会再说。经过这三步,就可以在MyEclipse中导入项目了。在MyEclipse选择“import”——“Existing Projects into Workspace”——定位到刚才的mybatis-jpetstore-6.0.1-sources文件夹下,导入之后需要进行一步设置:在MyEclipse菜单栏中选“MyEclipse”——“Project Capabilities”——“Add Web Project Capabilities”——然后需要在下图所示的界面中指定Web Root Directory(指定Web Project的root在什么地方)和Web Context Root(指定在Tomcat webapps目录中的文件夹名),指定方法就如图所示:

将JPetStore 6导入MyEclipse(部署至Tomcat)_第1张图片

这样就基本上将JPetStore 6导入MyEclipse中了,接下来部署发布就可以了。下面解释一下为什么要运行mvn clean这条命令,如果不运行的话,部署后就会出现类似下面的报错:

Unable to read TLD "META-INF/stripes.tld" from JAR file "file:/D:/Projects/apache-tomcat-6.0.36/webapps/jpetstore/WEB-INF/lib/stripes-1.5.6.jar": org.apache.jasper.JasperException: Failed to load or instantiate TagExtraInfo class: net.sourceforge.stripes.tag.ErrorsTagExtraInfo

搜索了一下,这个问题很容易出现,大部分原因是web project的lib和tomcat自有的lib冲突,而在maven的pom.xml中实际上已经考虑到这种冲突,但如果不运行mvn clean,就会经常出现上面的报错。更常见的是项目的jsp-api-XX.jar,jstl-XX.jar和tomcat冲突,解决的方法都是一样,通过mvn clean来避免这种冲突。

具体可以参考stackoverflow上的解释:

http://stackoverflow.com/questions/5496809/jar-conflict-in-maven-and-tomcat

另外,maven的常用命令可参看这篇博客:

http://www.cnblogs.com/PatrickLee/archive/2012/10/31/2747398.html

你可能感兴趣的:(将JPetStore 6导入MyEclipse(部署至Tomcat))