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
分享到:
相关推荐
maven相关书籍及安装步骤
maven相关
maven相关知识点总结
eclipse中maven相关配置 可以参考此文档来进行相关配置
文档总结了搭建maven私服管理器nexus时遇到的一些问题,建议各位使用nexus2.*版本; 文档描述了pom以及setting的一些配置
关于更多MAVEN相关介绍,请参考官网http://maven.apache.org/ 在网上搜索发现众多开源团队中有一个国内开源团队也使用了MAVEN管理项目,并可以基于框架来生成项目原型。 本文以新建一个项目为实例,讲解MAVEN的基本...
Maven是一个项目管理和综合工具。Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。 在多个开发团队环境时,Maven可以设置按...
https://blog.csdn.net/lydms/article/details/128818684
1: 通过配置MAVEN_HOME 和 %% %MAVEN_HOME%\bin 然后进行mvn -version 测试 掌握 -Xms 与 -Xmx的相关配置 2: Maven目录分析: 2.1: bin: 含有mvn运行的脚本 2.2: boot:含有plexus-classworlds类加载器框架 ...
包含如下文件:hudson-V1.doc maven-definitive-guide_zh.pdf Maven技术分享.ppt 全面介绍Maven
maven构建Web工程相关的命令行命令的总结
下载解压压缩包,把对应的jar包复制到对应的java安装目录下,重启eclipse,即可运行
maven入门级源码,包含怎么创建maven项目,maven相关的命令。
apache-maven-3.3.3-bin.rar,需要的自取,用于构建本地maven库,同时后续笔者可能会陆续提供maven相关组件压缩包,提供大家下载。
apache-maven-3.5.2免安装版,下载解压即可使用!!!
本文面向具有eclipse相关开发经验的技术人员,一步步说明如果在eclipse中集成Maven进行开发。本教程是入门级教程,由于本站发表文章实在不便,故将word文档直接上传了。 目录 Eclipse整合Maven开发教程 1 1. ...
详细完整的描述了maven相关概念和在开发IDE中的配置,以及使用方法。
Maven思维导图,Maven相关知识,Web架构技术总结,适合Maven学习者。
JSONObject对象相关的jar包依赖,一共有6个;还有maven环境下管理的jar包