maven相关

1. Maven Dependency 插件能够帮助你发现对于依赖的直接引用

dependency:analyze

2. 列出项目中所有的直接和传递性依赖

dependency:tree

3. 排除并替换一个传递性依赖

<dependencies>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
<version>3.2.5.ga</version>
<exclusions>
<exclusion>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jta_1.1_spec</artifactId>
<version>1.1</version>
</dependency>
</dependencies>

 

4. Maven 默认生命周期阶段

 

 

生命周期阶段			描述
validate			验证项目是否正确,以及所有为了完整构建必要的信息是否可用
generate-sources		生成所有需要包含在编译过程中的源代码
process-sources			处理源代码,比如过滤一些值
generate-resources		生成所有需要包含在打包过程中的资源文件
process-resources		复制并处理资源文件至目标目录,准备打包
compile				编译项目的源代码
process-classes			后处理编译生成的文件,例如对Java 类进行字节码增强(bytecodeenhancement)
generate-test-sources		生成所有包含在测试编译过程中的测试源码
process-test-sources		处理测试源码,比如过滤一些值
generate-test-resources		生成测试需要的资源文件
process-test-resources		复制并处理测试资源文件至测试目标目录
test-compile			编译测试源码至测试目标目录
test				使用合适的单元测试框架运行测试。这些测试应该不需要代码被打包或发布
prepare-package			在真正的打包之前,执行一些准备打包必要的操作。这通常会产生一个包的展开的处理过的版本(将会在Maven 2.1+中实现)
package				将编译好的代码打包成可分发的格式,如JAR,WAR,或者EAR
pre-integration-test		执行一些在集成测试运行之前需要的动作。如建立集成测试需要的环境
integration-test		如果有必要的话,处理包并发布至集成测试可以运行的环境
post-integration-test		执行一些在集成测试运行之后需要的动作。如清理集成测试环境。
verify				执行所有检查,验证包是有效的,符合质量规范生命周期阶段 描述
install				安装包至本地仓库,以备本地的其它项目作为依赖使用
deploy				复制最终的包至远程仓库,共享给其它开发人员和项目(通常和一次正式的发布相关)

5.配置Surefire 忽略单元测试失败

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<testFailureIgnore>true</testFailureIgnore>
</configuration>
</plugin

6. 跳过整个测试

$ mvn install -Dmaven.test.skip=true

7. 不同环境间构建(Profile,profiles.xml)

<profiles>
		<!-- 开发环境 -->
		<profile>
			<id>development</id>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-compiler-plugin</artifactId>
						<configuration>
							<debug>true</debug>
							<optimize>false</optimize>
						</configuration>
					</plugin>
				</plugins>
				<resources>
					<resource>
						<directory>${basedir}/src/main/resources</directory>
					</resource>
					<resource>
						<directory>${basedir}/src/main/development</directory>
					</resource>
				</resources>
			</build>
		</profile>	
		<profile>
			<!-- 生产环境 -->
			<id>production</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-compiler-plugin</artifactId>
						<configuration>
							<debug>false</debug>
							<optimize>true</optimize>
						</configuration>
					</plugin>
				</plugins>
				<resources>
					<resource>
						<directory>${basedir}/src/main/resources</directory>
					</resource>
					<resource>
						<directory>${basedir}/src/main/production</directory>
					</resource>
				</resources>
			</build>
		</profile>
	</profiles>
 

 构建不同环境的命令:

//使用development环境构建项目
mvn clean install -Pdevelopment -X
或者(默认development):
mvn clean install -X
 
//使用production环境构建项目
mvn clean install -Pproduction -X

<注> -X :开启调试输出。

 

8. 列出活动的Profile

mvn help:active-profiles
 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值