Maven cheat sheet 手抄
寫給懶人看的
概念
生命週期由階段構成:validate,compile,test,package,verify,install,deploy
基礎
-
基礎編譯:mvn clean package
-
環境變量:MAVEN_HOME, MAVEN_OPTS, MAVEN_ARGS
配置
-
打印激活的配置:
mvn help:active-profiles
-
激活Profile:
-Pprofile1 -Pprofile2 -P!profile3
參數
- 調試:
-X
- 不打印下載進度:
-ntp
- 按指定模塊構建: -am -pl <module,s>
階段
- 安裝到本地緩存:
install
- 發佈到Nexus私服:
deploy
- 打印依賴樹:
dependency:tree
- 手動下載依賴:
dependency:get -Dartifact=<GAV>[:classifier]
- 從文件安裝:
install:install-file -DgroupId=<G> -DartifactId=<A> -Dversion=<V> -Dpackaging=jar -Dfile=<file>
- 生成源代碼:
generate-sources
- 處理源代碼:
process-sources
配置文件
- 用戶配置文件:(%USER_HOME%/.m2/settings.xml)
- 全局配置文件:(${maven.home}/conf/settings.xml)
網絡代理
<proxies><proxy></proxy></proxies>
參數:id,active,protocol,host,port,username,password,nonProxyhosts:分隔符|
[========]
maven系統依賴
<scope>system</scope>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
HttpClient HTTP Wagon配置
<servers><server><id></id> <configuration></configuration></server></servers>
參數:c:httpHeaders:property,c:timeout, c:httpConfiguration:all:readTimeout
常用插件清單
場景 | 插件名稱 | 關鍵信息 |
---|---|---|
組織,分發ZIP包 | maven-assembly-plugin | assembly:single |
打包源碼 | maven-source-plugin | 生成classifier=sources的jar |
SpringBoot | spring-boot-maven-plugin | executable, repackage |
打包jar包 | maven-jar-plugin | include, exclude, manifestEntries |
shade依賴 | maven-shade-plugin | relocation,META-INF transformer, SPI |
複製,解壓依賴 | maven-dependency-plugin | copy-dependencies,unpack |
常見Transformer配置
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<manifestEntries>
<Main-Class>com.slankka.maven</Main-Class>
</manifestEntries>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
<transformer
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.handlers</resource>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.schemas</resource>
</transformer>
</transformers>