Maven

4 篇文章 0 订阅

Maven知识点

(1)maven 打包构建相关命令

1、命令

mvn clean package
依次执行clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段。

mvn clean install
依次执行clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8个阶段。

mvn clean deploy
依次执行clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9个阶段。

2、区别

package 命令完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库。

install 命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程maven私服仓库。

deploy 命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库。

3、补充说明
(1)–help,可以看到:

usage: mvn [options] [<goal(s)>] [<phase(s)>]

Options:
 -am,--also-make                        If project list is specified, also
                                        build projects required by the
                                        list
 -amd,--also-make-dependents            If project list is specified, also
                                        build projects that depend on
                                        projects on the list
...
 -pl,--projects <arg>                   Build specified reactor projects
                                        instead of all projects
...

-am 如果 pl 参数存在,就同时构建 pl 参数所列模块依赖的其它模块。

-amd 如果 pl 参数存在,就同时构建依赖于 pl 参数所列模块的其它模块。

-pl,–projects : 构建指定模块,多个模块用逗号(,)分隔。

(2)排除test模块构建

-Dmaven.test.skip

或者

-Dmaven.test.skip = true

(3)-P test

-P maven 会激活项目下的pom.xml配置的profiles的profile标签下的id为test的相关配置文件和其它文件。

比如:

<profiles>
		<profile>
			<id>test</id>
			<dependencies>
				<dependency>
					<groupId>com.itwuyi.platform</groupId>
					<artifactId>send</artifactId>
					<version>1.1.0-SNAPSHOT</version>
				</dependency>
				<dependency>
					<groupId>com.itwuyi.platform</groupId>
					<artifactId>receive</artifactId>
					<version>1.1.0-SNAPSHOT</version>
				</dependency>
				<dependency>
					<groupId>com.itwuyi.platform</groupId>
					<artifactId>sync</artifactId>
					<version>1.1.0-SNAPSHOT</version>
				</dependency>
			</dependencies>
		</profile>
	</profiles>

-P
(4)-P参数需要配置的东西

使用占位符配置定义的${env}进行资源过滤。

<build>
		<!--指定资源目录 配置是否启用资源过滤(就是是否启用占位符替换)-->
		<filters>
			<filter>src/main/resources/${env}/config.properties</filter>
			<filter>src/main/resources/${env}/common.properties</filter>
		</filters>
		<resources>
			<resource>
				<directory>src/main/java/</directory>
				<includes>
					<include>**/*.xml</include>
				</includes>
			</resource>
			<resource>
				<directory>src/main/resources/</directory>
				<includes>
					<include>**</include>
				</includes>
				<excludes>
					<exclude>profile/test/**</exclude>
					<exclude>profile/dev/**</exclude>
					<exclude>profile/prod/**</exclude>
				</excludes>
			</resource>
		</resources>
	</build>

总结:
1. -P 参数配合资源过滤Filter,最终使用了 src/main/resources/test/config.properties和 src/main/resources/test/common.properties文件。
2. 这个地方的配置就是让我们可以使用pom.xml文件里profile标签里面id标识对应的值。

4、执行命令

mvn clean install -pl myproject -am -Dmaven.test.skip=true -P test

或者

mvn clean install -pl myproject -am -Dmaven.test.skip -P test

解析:
清class文件,打包构建myproject项目,包括该项目依赖的其它模块,跳过测试,以项目下的pom.xml配置的标签下id为test的相关配置文件启动。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值