【Maven】Maven相关

Maven CLI选项参考

选件描述
-am,--also-make如果指定了项目列表,则还要构建列表所需的项目
-amd,--also-make-dependents如果指定了项目列表,则还要构建依赖于列表中项目的项目
-B,--batch-mode以非交互(批处理/静默)模式运行(禁用输出颜色)
-b,--builder要使用的构建策略的ID
-C,--strict-checksums如果校验和不匹配,则构建失败
-c,--lax-checksums警告校验和不匹配
-cpu,--check-plugin-updates无效,仅保留用于向后兼容
-D,--define定义系统属性
-e,--errors产生执行错误消息
-emp,--encrypt-master-password加密主安全密码
-ep,--encrypt-password加密服务器密码
-f,--file强制使用备用POM文件(或带有pom.xml的目录)
-fae,--fail-at-end之后才失败构建;允许所有未受影响的构建继续
-ff,--fail-fast在反应堆中首次失败时停止
-fn,--fail-never无论项目结果如何,都绝不会使构建失败
-gs,--global-settings全局设置文件的备用路径
-gt,--global-toolchains全局工具链文件的备用路径
-h,--help显示帮助信息
-l,--log-file所有构建输出将转到的日志文件(禁用输出颜色)
-llr,--legacy-local-repository使用Maven 2旧版本地存储库行为,即不使用_remote.repositories。也可以使用-Dmaven.legacyLocalRepo = true激活
-N,--non-recursive不要递归到子项目
-npr,--no-plugin-registry无效,仅保留用于向后兼容
-npu,--no-plugin-updates无效,仅保留用于向后兼容
-nsu,--no-snapshot-updates禁止快照更新
-ntp,--no-transfer-progress下载或上传时不显示传输进度
-o,--offline离线办公
-P,--activate-profiles以逗号分隔的配置文件列表以激活
-pl,--projects以逗号分隔的要构建的指定反应堆项目列表,而不是所有项目。可以通过[groupId]:artifactId或相对路径指定项目
-q,--quiet安静的输出-仅显示错误
-rf,--resume-from从指定项目恢复反应堆
-s,--settings用户设置文件的备用路径
-t,--toolchains用户工具链文件的备用路径
-T,--threads线程数,例如2.0C,其中C是内核乘以
-U,--update-snapshots强制检查远程存储库上是否缺少发行版和更新的快照
-up,--update-plugins无效,仅保留用于向后兼容
-v,--version显示版本信息
-V,--show-version在不停止构建的情况下显示版本信息
-X,--debug产生执行调试输出

Maven高手系列

https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzA5MTkxMDQ4MQ==&action=getalbum&album_id=1318992648564424704

Maven插件

1、maven-surefire-plugin (surefire 必定成功的 十拿九稳的)

如果你执行过mvn test或者执行其他maven命令时跑了测试用例,你就已经用过maven-surefire-plugin了。maven-surefire-plugin是maven里执行测试用例的插件,不显示配置就会用默认配置。这个插件的surefire:test命令会默认绑定maven执行的test阶段

https://www.cnblogs.com/qyf404/archive/2004/01/13/5013694.html

常用操作

  1. 通过命令deploy:mvn clean deploy -pl module1,module2 –am -U,说明:
    -pl:发布指定project list
    -am:同时发布自身依赖的project
    -U:强制更新maven依赖

  2. deploy源码包:在需要发布源码包的模块的pom.xml中加入maven-source-plugin插件

  3. 通过IDEA默认插件deploy:需要注意的是,发布子模块时,父模块不会发布,相反,发布父模块时,子模块会发布

  4. 依赖继承:最短路径优先

  5. deploy-file
    (1) 不要在maven本地仓中执行deploy-file,须将包和pom文件拷贝出本地仓,再执行deploy命令,否则会报错Caused by: org.apache.maven.plugin.MojoFailureException: Cannot deploy artifact from the local repository
    (2) 如果不指定-DpomFile,将会自动生成一个不包含依赖的空pom,这会有问题
    (3) -Dpackaging用来指定打包方式,即jar
    (4) -DrepositoryId需要与settings.xml中的settings.servers.server.id对应,用于匹配用户名密码,否则会报401 Unauthorized,也可在-Durl中包含用户名密码:https://username:password@www.anywhere.com/ + UrlEncode

    复杂版:
    mvn deploy:deploy-file
    -DgroupId=${groupId}
    -DartifactId=${artifactId}
    -Dversion=${version}
    -Dfile=${filePath}
    -DpomFile=${pomFilePath}
    -Dpackaging=${packagingType}
    -DrepositoryId=${repositoryId}
    -Durl=${repositoryUrl}
    
    简化版:
    mvn deploy:deploy-file
    -Dfile=${filePath}
    -DpomFile=${pomFilePath}
    -DrepositoryId=${repositoryId}
    -Durl=${repositoryUrl}
    
  6. 如何删除已经发布到maven远程仓的依赖?

其他

  1. <dependencies><dependencyManagement>
    <dependencies>:根据节点配置的依赖范围不同,会有不同的表现:
    (1)默认范围:compile
    (2)compile:编译期依赖,参与编译、测试、打包、运行
    (3)runtime:运行期依赖,参与测试、打包、运行,不参与编译
    (4)provided:已提供的依赖,参与编译、测试、运行,默认不参与打包
    (5)system:与provided相同,区别是需要在指定<systemPath>下查找依赖
    (6)test:测试期依赖,参与编译、测试,不参与运行,默认不参与打包
    <dependencyManagement>:不会将依赖继承到子pom.xml中,但会继承依赖的版本
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值