Maven命令

289 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 26 天,点击查看活动详情

作为开发利器的maven,为我们提供了⼗分丰富的命令,了解maven的命令⾏操作并熟练运⽤常⻅的maven命令还是⼗分必要的,即使譬如IDEA等⼯具给我提供了图形界⾯化⼯具,但其底层还是依靠maven命令来驱动的。

Maven的命令格式如下

mvn [plugin-name]:[goal-name]

命令代表的含义:执⾏ plugin-name 插件的 goal-name ⽬标

4.1. 常⽤命令

在这里插入图片描述 ==注意:运⾏maven命令的时候,⾸先需要定位到maven项⽬的⽬录,也就是项⽬的pom.xml⽂件所在的⽬录。否则,必以通过参数来指定项⽬的⽬录。==

4.2. 命令参数

上⾯列举的只是⽐较通⽤的命令,其实很多命令都可以携带参数以执⾏更精准的任务。

4.2.1. -D 传⼊属性参数

例如:mvn package -Dmaven.test.skip=true

-D 开头,将 maven.test.skip 的值设为 true ,就是告诉maven打包的时候跳过单元测试。同理, mvn deploy-Dmaven.test.skip=true 代表部署项⽬并跳过单元测试

4.2.2. -P 使⽤指定的Profile配置

⽐如项⽬开发需要有多个环境,⼀般为开发,测试,预发,正式4个环境,在pom.xml中的配置如 下:

<profiles>
 <profile>
 	<id>dev</id>
 	<properties>
 		<env>dev</env>
 	</properties>
 <activation>
 	<activeByDefault>true</activeByDefault>
 </activation>
 </profile>
 <profile>
	 <id>qa</id>
	 <properties>
	 	<env>qa</env>
	 </properties>
 </profile>
 <profile>
	 <id>pre</id>
	 <properties>
	 	<env>pre</env>
	 </properties>
 </profile>
 <profile>
	 <id>prod</id>
	 <properties>
	 	<env>prod</env>
	 </properties>
 </profile>
</profiles>
......
<build>
	 <filters>
	 	<filter>config/${env}.properties</filter>
	 </filters>
	 <resources>
		 <resource>
			 <directory>src/main/resources</directory>
			 <filtering>true</filtering>
		 </resource>
	 </resources>
 ......
</build>

解释说明:profiles 定义了各个环境的变量 id , filters 中定义了变量配置⽂件的地址,其中地址中的环境 变量就是上⾯ profile 中定义的值, resources 中是定义哪些⽬录下的⽂件会被配置⽂件中定义的变 量替换。

通过maven可以实现按不同环境进⾏打包部署,例如:mvn package -Pdev -Dmaven.test.skip=true

表示打包本地环境,并跳过单元测试