Maven 相关基本操作

2018/04/08 Maven 共 2407 字,约 7 分钟
Bob.Zhu

基本操作

版本管理

  • 更改版本
mvn versions:set -DnewVersion=0.0.1-SNAPSHOT

JAR依赖树结构

控制台查看:

# 基本信息
mvn dependency:tree

# 冲突信息
mvn dependency:tree -Dverbose

导出到文本:

# 基本信息
mvn dependency:tree > tree.txt

# 冲突信息
mvn dependency:tree -Dverbose > tree.txt

打包源码

需要在项目自己的pom.xml文件中配置,父类的配置不生效


<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-source-plugin</artifactId>
  <executions>
    <execution>
      <id>attach-sources</id>
      <phase>verify</phase>
      <goals>
        <goal>jar-no-fork</goal>
      </goals>
    </execution>
  </executions>
</plugin>

生命周期

有了生命周期,就可以将各种maven插件的执行时间绑定在某个生命节点上。

clean生命周期

  1. pre-clean :执行清理前的工作;
  2. clean :清理上一次构建生成的所有文件;
  3. post-clean :执行清理后的工作

default生命周期

  1. validate
  2. initialize
  3. generate-sources
  4. process-sources
  5. generate-resources
  6. process-resources :复制和处理资源文件到target目录,准备打包;
  7. compile :编译项目的源代码;
  8. process-classes
  9. generate-test-sources
  10. process-test-sources
  11. generate-test-resources
  12. process-test-resources
  13. test-compile :编译测试源代码;
  14. process-test-classes
  15. test :运行测试代码;
  16. prepare-package
  17. package :打包成jar或者war或者其他格式的分发包;
  18. pre-integration-test
  19. integration-test
  20. post-integration-test
  21. verify
  22. install :将打好的包安装到本地仓库,供其他项目使用;
  23. deploy :将打好的包安装到远程仓库,供其他项目使用;

site生命周期

  1. pre-site
  2. site :生成项目的站点文档;
  3. post-site
  4. site-deploy :发布生成的站点文档

推送到仓库

详情查看:Maven deploy 上传jar包到私服的方法及其配置文件

推送maven项目

先配置好 settings-adolphor.xml 配置文件: 配置多个profile:jdk-1.8, adolphor-nexus, rdc-nexus, 上传的时候通过 -P 参数指定使用哪个profile即可:

# 启用 adolphor,停用 rdc
mvn deploy -D skipTests --settings /Users/adolphor/.m2/settings-adolphor.xml -P adolphor,!rdc
# 停用 adolphor,启用 rdc
mvn deploy -D skipTests --settings /Users/adolphor/.m2/settings-adolphor.xml -P !adolphor,rdc

推送普通jar包

mvn install:install-file -DgroupId=com.wlwx -DartifactId=wlwx-sms-sdk -Dversion=1.1.0 -Dpackaging=jar -Dfile=/Users/adolphor/Downloads/wlwx-sms-sdk-1.1.0.jar
mvn   deploy:deploy-file -DgroupId=com.wlwx -DartifactId=wlwx-sms-sdk -Dversion=1.1.0 -Dpackaging=jar -Dfile=/Users/adolphor/Downloads/wlwx-sms-sdk-1.1.0.jar -Durl=http://maven.adolphor.com/repository/maven-releases/ -DrepositoryId=adolphor-releases

groupId=com.adolphor.android
artifactId=link-library
version=1.0-SNAPSHOT
packaging=aar
file=/Users/adolphor/Downloads/temp/adolphorlibrary-release.aar
mvn deploy:deploy-file -DgroupId=$groupId -DartifactId=$artifactId -Dversion=$version -Dpackaging=$packaging -Dfile=$file -Durl=http://maven.adolphor.com/repository/maven-snapshots/ -DrepositoryId=adolphor-snapshots

参考资料

文档信息

Search

    Table of Contents