博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
maven笔记
阅读量:4612 次
发布时间:2019-06-09

本文共 1687 字,大约阅读时间需要 5 分钟。

生成一个web的maven项目:

mvn archetype:create -DgroupId=com -DartifactId=simple-web -DarchetypeArtifactId=maven-archetype-webapp -DarchetypeCatalog=local

-DarchetypeCatalog表示使用本地缓存的catalog,不用每次生成的时候都去查询。

上面可以出现the defined artifact is not an archetype的错误,这个错误可以通过1、删除本地库,2、删除其它的mirror,只使用maven的库。重新生成即可。

 

使用对应的profile来构建:

mvn install -PprofileName

 

调试测试用例:

mvn -Dmaven.surefire.debug test

RESTService,webservice jax-rs的实现,里面包含了deploy方法。

surefire plugin运行测试用例失败时候打印Stack trace:

mvn test -Dsurefire.useFile=false

forkMode可以让第个Test使用不同的ClassLoader,这样可以使得一些依赖于系统属性的常量值在不同的Test中得到不同的设置

forkMode 可设置值有 “never”, “once”, “always” 和 “pertest”

 -DinteractiveMode=false 非交互模式

surefire测试指定类

>mvn test -Dtest=[ClassName]运行测试类中指定的方法:(这个需要maven-surefire-plugin:2.7.3以上版本才能支持) >mvn test -Dtest=[ClassName]#[MethodName] //[MethodName]为要运行的方法名,支持*通配符,范例:>mvn test -Dtest=MyClassTest#test1>mvn test -Dtest=MyClassTest#*test*

 

以离线模式运行,这样子maven就不会去尝试更新/检查本地库了,在私服没有启动等情况下可以节省网络访问上消耗的时间:

maven clean install --offline

 

简单地用 dependency:tree往往并不能查看到所有的传递依赖。不过如果你真的想要看所有的,必须得加一个 -Dverbose参数,这时就必定是最全的了。

 

今天修改了一下子module的依赖时候,构建项目的时出现dependencies.dependency.version for xxx is missing,  transitive dependencies will be ignore。导致另一下工程打包时候相关的依赖没有打进来,(even though the dependency is already declared in its parent's pom file's dependency management section)即使parent pom已经含有相关<dependency>的version,但貌似没有生效,后面在stackoverflow查找到了相关问题,发现parent pom没有安装到本地库引起的。

 

2017-10-24: 今天在技术交流群里面看到一个maven解决依赖版本冲突的问题,特地复习了一下maven解决版本冲突的方式:

maven解决版本冲突主要是两个原则。

  • 路径最短原则:如上图E1的路径是“项目-A-E1”,E2的路径是“项目-B-F-E2”,因为E1路径比E2短,所以最终会选择E1而不用E2。
  • 优先声明原则:当出现路径长短相同的时候,谁先声明就用谁。如F1和F2的路径距离相同,但是由于F1比F2先声明(B比C先声明),所以最终使用F1。

转载于:https://www.cnblogs.com/mosmith/p/5067776.html

你可能感兴趣的文章
第三次作业
查看>>
代理模式(Proxy)
查看>>
个人作业——软件工程实践总结作业
查看>>
IOS上iframe的滚动条失效的解决办法。
查看>>
CodeForces660B【模拟—水】
查看>>
Codeforces 749C【模拟】
查看>>
centos7下pymysql安装
查看>>
使用java解析和制作二维码
查看>>
加油!!!
查看>>
在eclipse里卸载已安装的插件[例如Android Development Tools ADT]
查看>>
函数参数引用
查看>>
PCB接地设计宝典:ADI资深专家总结的良好接地指导原则
查看>>
使用wxPython WebView浏览器版本问题
查看>>
ArcGIS Online快速制图教程
查看>>
数组的一维下标换为指定的key值
查看>>
使用clipboard插件实现div、textarea、input里面的内容复制到粘贴板
查看>>
算法导论16.3-7
查看>>
Silverlight技术之设置中文字体
查看>>
性能测试: 基础概念
查看>>
第一次作业——子序列最大和
查看>>