研究了几天了,总出现这样的那样的问题,网上的博客也看了一些,总是没有亲身实践来的快。
现在将整出来的成果清理一下,供以后借鉴用。
step1:直接在工程下右键选择Maven,然后点击enable dependency management,填写相应的groupId和artifactId,把packaging改为war打包方式,点击finish。
step2:在工程下右键属性,选择Project Facets,照下图勾选,修改好合适的version。此处如果Dynamic Web Module不能修改为2.5,那是eclipse的内部bug,需要在工程目录下的.settings文件夹中,打开org.eclipse.wst.common.project.facet.core.xml,做如下修改:<installed facet="jst.web" version="2.5"/> 然后点击OK
step3:修改build path,最终目录结构如图所示:将你的java文件放在src/main/java下,测试文件放在src/test/java下。将web相关的放在src/main/webapp下,struts.xml文件放在WEB-INF/classes下,web.xml直接放在WEB-INF下即可。
step4:增加pom.xml文件中的依赖
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.bjhit.eranges</groupId>
<artifactId>erangesCl</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
<dependency><!-- 此处依赖为struts2的核心jar包 -->
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.3.8</version>
</dependency>
<dependency><!-- 此处为cxf的依赖包 -->
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>2.7.3</version>
</dependency>
<dependency>
<groupId>tomcat</groupId>
<artifactId>servlet-api</artifactId>
<version>5.5.23</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
</dependencies>
</project>
如果后面编译过程中还遇到关于包丢失或找不到的情况,可以直接在pom.xml中添加。maven最好的地方就是不用再去将lib传来传去。
step5:以上几个步骤就算成功完成maven转换了,现在只需要mvn clean, mvn install 和run as->run on server了。然后浏览器中就可以顺利打开了。