Eclipse使用Maven

Categories:


1.配置

Window -> Preference -> Maven -> Installation -> Add

Installation home 选择maven的解压根目录

images

Window -> Preference -> Maven -> User Settings

Global Settings 和 User Settings 选择maven下conf下settings.xml路径

images

2.创建项目

new -> maven project

勾选 Create a simple project 然后next

images

Group Id: 项目唯一标识

Artifact Id: 项目名

Version: 项目版本号

Packaging: 可选

         jar: jar包项目

                pom: 聚合工程,一般为其他项目的父工程

         war: web项目

 

images

注: 项目创建完成后如果pom.xml报错,需要手动在src/main/webapp下创建WEB-INF/web.xml文件

3.添加jar包

一.使用中央仓库导入jar包

在pom.xml中添加如下代码

<dependencies>
	<dependency>
		<groupId>org.apache.tomcat</groupId>
		<artifactId>tomcat-servlet-api</artifactId>
		<version>8.5.0</version>
	</dependency>
</dependencies>

具体jar包的配置文件及版本号可在http://mvnrepository.com/中查找

二.使用本地jar包

在项目中创建lib文件夹,将jar包放入,在pom.xml中添加如下代码

<dependencies>
 	<dependency>
 		<groupId>com.gson</groupId>
 		<artifactId>gson</artifactId>
 		<version>2.8.2</version>
 		<scope>system</scope> //不去中央仓库下载jar包
 		<systemPath>${project.basedir}/lib/gson-2.8.2.jar</systemPath>//指定本地jar包路径
 	</ependency>
</dependencies>

4.使用maven发布jar

创建maven项目时,Packaging选择jar

项目右键 --> Run As --> Maven instaill

在项目target中会自动生成jar包

images

5.使用jar项目

在主项目的pom.xml下添加如下代码,即可自动将jar项目引用进主项目

<dependencies>
	<dependency>
		<groupId>com.yht</groupId> //jar项目的groupId
		<artifactId>maven-jar</artifactId> //jar项目的artifactId
		<version>0.0.1-SNAPSHOT</version> //jar项目的version
	</dependency>
</dependencies>

images

6.maven继承

1.创建父项目packaging选择pom

2.在父项目中配置pom.xml

3.创建子项目Parent Project

                              Group Id 选择父项目的Group Id

                                      Artifact Id 选择父项目的Artifact Id

                              Version 选择父项目的Version

作用: 子项目可以直接使用父项目中引入的jar包配置

7.war合并

创建三个project,分别为war1,war2,合并war, 在合并war中pom.xml中添加如下代码

<dependencies>
	<dependency>
		//war1
		<groupId>com.maven.test</groupId>
		<artifactId>test-pom-war1</artifactId>
		<version>0.0.1-SNAPSHOT</version>
		<type>war</type>
	</dependency>
	<dependency>
		//war2
		<groupId>com.maven.test</groupId>
		<artifactId>test-pom-war2</artifactId>
		<version>0.0.1-SNAPSHOT</version>
		<type>war</type>
	</dependency>
</dependencies>

<build>
	<plugins>
		<!-- 配置war包合并的插件 -->
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-war-plugin</artifactId>
			<version>3.0.0</version>
			<configuration>
				<overlays>
					<overlay>
						<groupId>com.maven.test</groupId>
						<artifactId>test-pom-war1</artifactId>
					</overlay>
					<overlay>
						<groupId>com.maven.test</groupId>
						<artifactId>test-pom-war2</artifactId>
					</overlay>
				</overlays>
			</configuration>
		</plugin>
	</plugins>
</build>

合并war右键 --> Run As --> Maven install 在合并war下target目录中会自动生成合并后的war包

作用: 可以将多个项目的相同包名下不同的类合并在一个包名下