-
maven jia包冲突怎么解决?
当出现了依赖的时候如何快速定位冲突原因
但出现了冲突的时候,比如系统出现了NoSuchMethodError,LinkageError 很有可能是你系统中出现了依赖冲突。出现冲突以后,可以按以下的步骤执行
1.确定出了问题的jar包名称。通常可以在eclipse中查找冲突的类有在哪些依赖包里面出现了。并确定实际要使用的是那个包,冲突的包有哪些。
2.通过mvn dependency:tree > tree.txt 导出全部的依赖。
3.在导出的依赖文件中,查找问题相关的jar。确定这些jar是如何被依赖进来的,是直接依赖的还是通过传递依赖引入的。
4. 找到相互冲突的并需要排除的依赖的顶级依赖,并分析冲突的原因,冲突的原因可能是以下几种:
同一个jar包但groupId, artifactId不同,这种冲突只能通过设定依赖的<exclusions> 来进行排除【pom中可是过滤不想要的jar,加上exclusion是想使用的jar】
需要的版本jar包依赖路径较长,这种冲突可以把想要版本的依赖直接什么在依赖中,这样路径就最短了优先级最高。
5.最后可以通过打包mvn install 来确认打出来的war包中是否有被排除的依赖。
2.Mavenjar包怎么上传到私服上?maven如何打包
mvn deploy:deploy-file -DgroupId=http_client -DartifactId=http_client -A22org.codehaus.xfireDversion=1.0 -Dpackaging=jar -Dfile=C:\Users\Flyme\Desktop\http_client-1.0.jar -Durl=http://192.168.240.227:8081/repository/3rd_Party/ -DrepositoryId=nexus-3rdPart |
方法一:打开cmd直接运行命令:
mvn deploy:deploy-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.1.37 -Dpackaging=jar -Dfile=(第三方jar包全路径名,例如:D:\fastjson-1.1.37.jar) -Durl=http://localhost:8081/nexus/content/repositories/thirdparty/ -DrepositoryId=thirdparty
方法二:eclipse或myeclipse打包
首先eclipse/myeclipse要有maven的插件安装好,然后如下操作:
点开最上方在上方run,run configuration,
然后:
3.Maven的常用命令
maven只打jar包 mvn jar:jar
上传到私服 mvn deploy
打包 mvn package
运行测试 mvn test
编译源代码 mvn compile