前期准备:
- maven 3.5.0
- eclipse或IDEA
- windows 7
- wps 10.1( excel可以)
- 有一个java ee的web项目,需要改造成maven项目
操作步骤:
- 打开项目所在目录,比如为E:\shopdemo
- 添加pom.xml文件在项目的根目录,添加一个最简单的pom.xml文件,或者从其它项目拷贝一个pom.xml文件,将不相关的部分删除。下面的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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>groupId(替换成自己的例:com.lxy)</groupId>
<artifactId>artifactId(替换成自己的例:shopdemo)</artifactId>
<packaging>war</packaging>
<version>1.0</version>
<name>name(替换成自己的例:shopdemo)</name>
<url>http://maven.apache.org</url>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- contextRoot为/,也可以为别的,看着修改 -->
<m2eclipse.wtp.contextRoot>/</m2eclipse.wtp.contextRoot>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>name(项目名称此处改为自己的,例:shopdemo)</finalName>
</build>
<!-- 下面为配置jar包所在的maven服务器地址-->
<repositories>
<repository>
<!-- id必须唯一 -->
<id>myRepository1_1</id>
<!-- 见名知意即可 -->
<name>aliyun Snapshots</name>
<!-- 仓库的url地址 -->
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</repository>
</repositories>
</project>
修改目录结构:
将类文件的源代码,移到目录src/main/java下。(该目录不存在时,手工创建)
将配置文件,移到目录src/main/resources下。(该目录不存在时,手工创建)
将jsp、html、WEB-INF等,移到目录src/main/webapp下。(该目录不存在时,手工创建)
调整jar文件位置
改造一个已有项目,将所有jar包,移动为pom.xml中,添加为dependency是一件工程量较大的操作,需要一个个添加dependency,而且还有确定dependency的groupId、artifactId、version,这些操作是比较耗时的。如果一个大型项目,里边的jar有百八十个,一个个去maven仓寻找dependency,也是一个很惊人的活。
下边要讲解的方法就是避免一个个去maven仓查找对应的groupId、artifactId、version,就可以很快速的改造项目到maven。
具体操作是:
- 将原有项目的jar全部放置到src/main/webapp/WEB-INF/lib目录下(如果已经在此目录下请忽略)。添加dependency时,指定systemPath。
- 将jar全部放置到src/main/webapp/WEB-INF/lib目录下的目的是,在使用maven package时,会将src/main/webapp/WEB-INF/lib目录下的jar当作文件拷贝到package后的文件中,且位置正确。
- 指定systemPath,是因为要让maven不从maven仓去下载jar,直接使用项目中的jar包,这样就避免了maven到maven仓去查找对应的groupId、artifactId、version了。
利用office来生成jar在maven仓的dependency
- 打开cmd,进入D:\shopdemo\src\main\webapp\WEB-INF\lib目录。
- 将lib目录输出到某个文件中。执行命令: dir > d:\dir.txt。
- 将dir.txt的内容拷贝到wps表格中(excel中也可以)的A列(后面公式是按照A列来编写的)。
- 在B1单元格编写公式:=TRIM(MID(A1,37,100)),并向下拖拽公式到所需要的单元格为止。
- 将C列设置成从1开始的自增数字,并应用到所需要的单元格为止。
- 在D1单元格填写公式:如下,并向下拖拽公式到所需要的单元格为止。
="<dependency> <groupId>group-local</groupId> <artifactId>artifact-id-"&C1&"</artifactId> <version>1.0</version> <scope>system</scope> <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/"&B1&"</systemPath> </dependency>"
将最后拼接出的dependency粘到pom.xml下。
导入到eclise:
import项目,并在eclipse配置成maven项目。
导入到IDEA
open项目,选中带有src和pom的项目文件夹。
到此web项目就已经彻底改造为了maven项目了,大功告成,收工!。