eclipse webapp项目转换成maven 项目

由于我想要构建jenkis自动化部署,但是原来的项目不是maven的,所以我就想把原来的项目转变成maven项目,可以自动化部署,我就把我如何把普通webapp转成maven项目记录下,中间也是遇到了不少坑。
我的项目环境是tomcat7+jdk7,可以根据自己具体项目情况进行部署。
网上很多人说,可以通过eclipse 有一个convert to maven project功能,我试过,太麻烦,还不入直接自己新建maven项目自己配置来的方便。
所以我就自己来配置。
在这里插入图片描述

新建maven项目

##新建项目
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建好项目后,你会看到类似下面这样的结构,里面还少很多目录,接下来我们就要创建目录了

创建maven规则目录结构

maven目录结构

├───src
│ ├───main
│ │ └───java
│ │ └───cnblogs
| | └───resources
│ └───test
│ | └───java
│ | └───cnblogs
| | └───resources
└───target
└───classes
└───cnblogs
在这里插入图片描述
一开始,我们会看到,java build path -> source中,很多都是missing状态,这就说明,我们项目中没有此目录,我们创建对应的目录就好了
分别创建

/src/main/java
/src/main/resources
/src/test/java
/src/test/resources

创建好后,就会发现之前的missing就没有了
在这里插入图片描述

拷贝原项目中文件到对应目录

我们把之前我们项目中的java文件,全部都拷贝到/src/main/java中
把配置文件放到/src/main/resources中
在这里插入图片描述

我比较懒,所以我把配置文件也都放到了/src/main/java中,这个都无所谓,因为后面在配置Deployment Assembly 的时候,都会把下面的文件拷贝过去,只要最后target中生成的目录结构正确就可以

修改pom.xml文件

添加属性 properties

<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
	</properties>

添加依赖库 dependencies

<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-resources-plugin</artifactId>
			<version>2.6</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>3.1.3.RELEASE</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api -->
		<dependency>
			<groupId>javax.servlet.jsp</groupId>
			<artifactId>javax.servlet.jsp-api</artifactId>
			<version>2.3.1</version>
		</dependency>
	</dependencies>

添加构建脚本 build

${project.artifactId}

src/main/java

添加配置文件 resources

<resources>
			<resource>
				<directory>src/main/java</directory>
				<includes>
					<include>**/*.xml</include>
				</includes>
			</resource>
			<resource>
				<directory>src/main/resources</directory>
				<includes>
					<include>**/*.xml</include>
					<include>**/*.properties</include>
				</includes>
			</resource>
		</resources>

添加插件 plugins

由于原来的项目中,下载了很多本地jar库,如果都要转成maven比较麻烦,所以我就配置了org.apache.maven.plugins插件,把原来的库文件都加载进来。
其中compilerArguments下面配置已经下载的jar对应的目录

<compilerArguments>
<extdirs>${basedir}/src/main/webapp/WEB-INF/lib</extdirs>
</compilerArguments>
<plugins>
			<plugin>
				<!-- 编译插件compiler配置 -->
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.6.0</version>
				<configuration>
					<source>${java-version}</source>
					<target>${java-version}</target>
					<encoding>${project.build.sourceEncoding}</encoding>
					<compilerArguments>
						<extdirs>${basedir}/src/main/webapp/WEB-INF/lib</extdirs>
					</compilerArguments>
				</configuration>
			</plugin>
		</plugins>

修改eclipse设置

修改java build path

修改source

这里我们在上面调整maven目录结构的时候已经调整过了,所以这里我们只要检查一下,source中是否已经把上面我们新加的文件都加进来了,如果没有加进来,我们可以用add folder加载进来
在这里插入图片描述

加载libraries库,我们在开发的时候,会使用到这里配置的库,所以我们需要把我们开发过程中依赖的库,都在这里配置上

在这里插入图片描述

加载tomcat库

在这里插入图片描述

加载Web App Libraries

因为我加载了本库jar库,需要把Web App Libraries加载进来,这里加载进来的时候,我们可能会发现下面啥都没有,不要急,一会在修改完Deployment Assembly就会有了

把jdk改成1.7

修改java compiler

改为1.7
在这里插入图片描述

修改Deployment Assembly

在最终部署的时候,会生成对应的目录,会把source中的内容拷贝到对应的deploy path
所以我们要把我们最终需要部署的内容都加载进来,
按照这样的目录结构,有可能拷贝的时候,还会残留之前的WebRoot或者WebContent目录,需要把这些目录删除
在这里插入图片描述

把test文件夹去除
在这里插入图片描述
可能会没有maven库,所以需要add->java build path entries>添加maven依赖库

修改Project Facets

修改Dynamic Web Module 为3.0
修改java 为1.7
在这里插入图片描述

tomcat运行项目

最终把项目放到tomcat server中运行
在这里插入图片描述

自此,我们就把一个普通web项目变成了一个maven的项目啦。然后我们就可以通过jenkins + docker + git来构建自动化部署啦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值