清空:mvn clean 编译:mvn compile 打包:mvn package 打包并安装到本地仓库: mvn install 打包并部署到远程仓库: mvn deploy
只打包不测试:mvn -Dtest package mvn -Dmaven.test.skip=true package snapshots包强制更新: mvn package -u
传递参数:mvn package -DskipUserTest=true
分析项目的依赖信息:mvn dependency:analyze 或 mvn dependency:tree
清除eclipse系统设置:mvn eclipse:clean 生成eclipse项目文件: mvn eclipse:eclipse
清除idea系统设置:mvn idea:clean 生成idea项目:mvn idea:idea
离线打包: mvn package -o 下载项目里所依赖的jar包的源码:mvn dependency:sources
maven坐标是通过一些元素定义的,而classifier是不能直接定义的。 (1).groupId,定义当前maven项目隶属的实际项目。 (2).artifactId,定义实际项目中的一个maven项目(模块) (3).version,定义maven当前所处的版本。 (4).packaging,定义maven项目的打包方式。
maven依赖调解的两个原则。 第一原则是:路径最近者优先。 第二原则是:第一声明者优先。
Profile 的作用是允许你在项目文件(pom.xml)里定义若干个 profile 段,然后在编译时选择其中的一个用于覆盖项目文件原先的定义。 在编译项目时,可以使用 -P 参数指定需要使用的 profile 的 id,假如不指定 -P 参数的话,则会使用 activeByDefault=true 的一项。
filtering替换: filtering功能主要用来替换项目中的资源文件(.xml、.properties)当中的${…}
spring的property-placeholder替换: 指spring容器执行后替换资源文件(*.xml)当中的${…}
一:仓库分类: 1.本地仓库: 2.远程仓库:中央仓库 私服 其它公共库 3.中央仓库id=central,可以被盖;
二:nexus仓库实现: nexus的仓库类型分为以下四种: 1.group: 仓库组 –虚库:组合其它仓库 2.hosted:宿主 –Releases Snapshots 3.proxy:代理 –代理远程公共仓库http://repo1.maven.org/maven2 4.virtual:虚拟 –虚库:link到其实(非group)仓库
nexus内置仓库 * Public Repositories:将其它仓库聚合并通过一致的地址提供服务 * Central: 用来代理maven中央仓库中发布版本构件的仓库 * Releases: 用来部署管理内部的发布版本构件的宿主类型仓库 * Snapshots:用来部署管理内部的快照版本构件的宿主类型仓库
1.maven-surefire-plugin 与 testNG testNG 比JUnit 的优势:支持测试组
使用方式 @Test(groups={“util”,”midium”}) org.apache.maven.plugins maven-surefire-plugin 2.20 util,midium
官方使用说明: http://maven.apache.org/surefire/maven-surefire-plugin/examples/skipping-tests.html
统计代码行:maven-loc-plugin: https://github.com/lesline/maven-loc-plugin 替换pom内容: maven-loc-plugin: https://github.com/lesline/maven-pom-plugin
使用命令: mvn com.juvenxu.mvnbook:maven-loc-plugin:0.0.1-SNAPSHOT:count mvn com.eloancn:maven-pom-plugin:0.0.5:release
1、dependencyManagement 中 加dependency时 type=import ,可以引入相同的配置 2、mvn clean deploy -pl center-acct-api:只deploy center-acct-api 3、maven-surefire-plugin 与 testNG
