导航:首页 > 源码编译 > mvn解决并发编译冲突问题

mvn解决并发编译冲突问题

发布时间:2022-05-23 20:42:32

① 在编译maven项目执行mvn compile 和 mvn install 时报错 求解决 图片打码那个是项目名

maven仓库连不上。多试几次。或者换个maven仓库,或者自己建私服。

② maven 怎么解决jar包冲突

maven3在解决依赖冲突采用就近原则,在就近原则不能做出判断的情况下依据pom.xml的声明的先后顺序决定导入的jar。
jar包冲突多为传递性依赖的管理不当给项目带来的麻烦解决思路罗列如下:
1、首先查看当前项目的jar关系如果使用eclipse、idea等编辑器可打开pom.xml文档底部有Dependency Hierarchy可供查看jar的依赖情况。第二种使用maven插件的方式使用命令行:

mvn dependency:tree

结果中重要的是两个部分,首先是Used undeclared dependencies意值项目中使用到的,但是没有显示声明的依赖。这种依赖意味着潜在的风险。他是通过其他直接依赖导入的传递性依赖,当直接依赖升级时相关依赖的版本也会变化。可能导致当前项目报错,且不易察觉。另一个部分是Unused declared dependencies意指项目中未使用的,但显式声明的依赖。需要注意的是我们不应该直接删除了事而是应该仔细分析。因为这个命令行发现不了执行测试和运行时需要的依赖。
以上方法都可可完整的查看当前项目的jar情况,个人更喜欢使用命令行。
2、通过以上方法我们可以看到项目中引用jar版本号;接下来就是如何排除掉我们不想要版本的jar;语法如下:

<dependency> <groupId>.....</grooupId> <artifactId>....</artifactId> <version>...</version> <exclusions> <exclusion> <groupId>.....</groupId> <artifactId>.....</artifactId> </exclusion> </exclesions><dependency><!--exclusions可包含一个或多个exclusion元素-->

3、一下规避jar冲突的思路,如果项目中有直接用到某个jar而这个jar已通过传递依赖的方式引入到maven项目里了。最好排除这个传递依赖在pom里面明确的声明这个依赖。归类依赖,不断的优化依赖如,去除多余的依赖。

③ maven编译错误 d lifecycle pha se or a goal

一、问题描述
Windows下,需要将jar包手动导入Maven本地仓库,使用Power Shell运行命令:
mvn install:install-file -Dfile="E:\Tools\ipdatabase\target\ipdatabase-1.0-SNAPSHOT.jar" -DgroupId=com.ggstar -DartifactId=ipdatabase -Dversion=1.0 -Dpackaging=jar

报错:
[ERROR] Unknown lifecycle phase ".ggstar". You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. -> [Help 1][ERROR][ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.[ERROR] Re-run Maven using the -X switch to enable full debug logging.[ERROR][ERROR] For more information about the errors and possible solutions, please read the following articles:[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/

二、问题原因
Power Shell的命令和cmd的命令有不一样,这个命令在cmd是可以实行的。
三、解决方法
1.在cmd命令行中执行
在含pom.xml文件的根路径下打开cmd命令行,然后输入命令
mvn install:install-file -Dfile="E:\Tools\ipdatabase\target\ipdatabase-1.0-SNAPSHOT.jar" -DgroupId=com.ggstar -DartifactId=ipdatabase -Dversion=1.0 -Dpackaging=jar

然后打包成功:
[INFO] Building ipdatabase 1.0-SNAPSHOT[INFO] ------------------------------------------------------------------------[INFO][INFO] --- maven-install-plugin:2.4:install-file (default-cli) @ ipdatabase ---[INFO] Installing E:\Tools\ipdatabase\target\ipdatabase-1.0-SNAPSHOT.jar to E:\Tools\apache-maven-3.3.9\Repository\com\ggstar\ipdatabase\1.0\ipdatabase-1.0.jar[INFO] Installing C:\Users\ADMINI~1\AppData\Local\Temp\mvninstall4727202787532518137.pom to E:\Tools\apache-maven-3.3.9\Repository\com\ggstar\ipdatabase\1.0\ipdatabase-1.0.pom[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 1.703 s[INFO] Finished at: 2018-10-05T20:40:36+08:00[INFO] Final Memory: 8M/123M[INFO] ------------------------------------------------------------------------

2.在Power Shell下
参数需要添加单引号'',如下命令即可
mvn install:install-file -Dfile="E:\Tools\ipdatabase\target\ipdatabase-1.0-SNAPSHOT.jar" '-DgroupId=com.ggstar' '-DartifactId=ipdatabase' '-Dversion=1.0' '-Dpackaging=jar'

还有不懂的可以关注私聊我,本人10年java开发经验,相信可以帮助你成为一个优秀的java程序员

④ Maven怎么处理引用的jar版本冲突

1.确定出了问题的jar包名称。通常可以在eclipse中查找冲突的类有在哪些依赖包里面出现了。并确定实际要使用的是那个包,冲突的包有哪些。
2.通过mvn dependency:tree > tree.txt 导出全部的依赖。
3.在导出的依赖文件中,查找问题相关的jar。确定这些jar是如何被依赖进来的,是直接依赖的还是通过传递依赖引入的。
4. 找到相互冲突的并需要排除的依赖的顶级依赖,并分析冲突的原因,冲突的原因可能是以下几种:
同一个jar包但groupId, artifactId不同,这种冲突只能通过设定依赖的<exclusions> 来进行排除
需要的版本jar包依赖路径较长,这种冲突可以把想要版本的依赖直接什么在依赖中,这样路径就最短了优先级最高。
5.最后可以通过打包mvn install 来确认打出来的war包中是否有被排除的依赖。

⑤ maven并发编译可不可以指定顺序

在多模块的工程中,如果模块之间存在依赖关系,那模块的编译必须要有顺序的要求。例如:P(parent)中包含A模块和B模块,且A模块依赖于B模块,那么在P中的pom,xml中需申明为:
<moles>
<mole>B</mole>
<mole>A</mole>
</moles>
B需要声明在A的前面,这样先编译后的内容才能被A依赖。

同时,什么version的时候,只需要在P中申明即可,如${p.version}其他的采用继承的方式,即在A和B模块中不申明自己的版本, A中依赖的B同样使用${P.version}完成。

⑥ maven怎么解决jar包冲突

maven管理jar包依赖的时候,假如你的依赖包A需要间接依赖B的1.0版本,而你的工程里又需要用到B的2.0版本,这个时候就可能会出现运行时jar冲突的异常,会报java.lang.NoSuchMethodError或者 java.lang.ClassNotFoundException 、java.lang.NoClassDefFoundError

第一步:查询冲突jar包的依赖树

mvn dependency:tree -Dverbose -Dincludes=org.springframework:spring

第二步:在pom里找到相应的jar去掉他的依赖传递

⑦ 怎样解决maven里编译时包的依赖有关问题

一、导出到默认目录 targed/dependency
从Maven项目中导出项目依赖的jar包:进入工程pom.xml 所在的目录下,执行如下命令:

mvn dependency:-dependencies
或在eclipse中,选择项目的pom.xml文件,点击右键菜单中的Run As,见下图红框中,在弹出的Configuration窗口中,输入 dependency:-dependencies后,点击运行
maven项目所依赖的jar包会导出到targed/dependency目录中。
二、导出到自定义目录中
在maven项目下创建lib文件夹,输入以下命令:

mvn dependency:-dependencies -DoutputDirectory=lib
maven项目所依赖的jar包都会复制到项目目录下的lib目录下
三、设置依赖级别
同时可以设置依赖级别,通常使用compile级别

mvn dependency:-dependencies -DoutputDirectory=lib -DincludeScope=compile

⑧ java中的maven是干什么的

Maven是基于项目对象模型,可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。

Maven能够很方便的帮你管理项目报告,生成站点,管理JAR文件,等等。例如:项目开发中第三方jar引用的问题,开发过程中合作成员引用的jar版本可能不同,还有可能重复引用相同jar的不同版本,使用maven关联jar就可以配置引用jar的版本,避免冲突。

你给出的图片中binary是二进制文件,source是源码,开发中我们需要下载的是binary文件,后缀标识压缩算法. 一般来说,windows系统用zip较多,linux系统用tar.gz较多。source是maven项目的源码,探究原理时可以下载源码进行研究。

(8)mvn解决并发编译冲突问题扩展阅读

Maven常用命令:

1.mvn archetype:generate 创建Maven项目

2.mvn compile 编译源代码

3.mvn deploy 发布项目

4.mvn test-compile 编译测试源代码

5.mvn test 运行应用程序中的单元测试

6.mvn site 生成项目相关信息的网站

7.mvn clean 清除项目目录中的生成结果

8.mvn package 根据项目生成的jar

9.mvn install 在本地Repository中安装jar

10.mvn eclipse:eclipse 生成eclipse项目文件

⑨ 使用maven编译JAVA程序是出错

问题描述:
在eclipse中build一个普通maven项目,报错,提示信息是缺少maven插件(插件名称忘了)。

原因:
可能是由于使用了eclipse自带的jre导致的,这个jre里没有tools.jar,而jdk的lib目录下有(个人理解)。

解决办法:
1、检查eclipse的配置,确保使用的不是eclipse自带的版本。
步骤:在eclipse中打开Window->Preferences->Java->Installed JREs->Add,添加自己下载并配置好的jdk(别忘了配置环境变量),我用的是jdk1.6.0_4.3。


2、然后再次编译maven项目,仍然报错,但提示信息改变了,提示的是C:\Users\Administrator.EED4VRFALFPIIBP\.m2\repository\commons-logging\commons-logging下的jar包解析失败;
3、解决方案:删除repository文件夹,确保网络畅通,重启eclipse,执行Maven->Project
Update,问题解决。

注意:如果你的eclipse中配置了tomcat,那么你也需要重新选择tomcat的jdk版本,确保与前面的一致。

步骤:在eclipse中打开Window->Preferences->Server->Runtime
Environment->选中你的tomcat server->Edit,在JRE这项里选择你的jdk,完成。

⑩ 如何快速的解决Maven依赖冲突

1.确定出了问题的jar包名称。通常可以在eclipse中查找冲突的类有在哪些依赖包里面出现了。并确定实际要使用的是那个包,冲突的包有哪些。
2.通过mvn dependency:tree > tree.txt 导出全部的依赖。
3.在导出的依赖文件中,查找问题相关的jar。确定这些jar是如何被依赖进来的,是直接依赖的还是通过传递依赖引入的。
4. 找到相互冲突的并需要排除的依赖的顶级依赖,并分析冲突的原因,冲突的原因可能是以下几种:
同一个jar包但groupId, artifactId不同,这种冲突只能通过设定依赖的<exclusions> 来进行排除
需要的版本jar包依赖路径较长,这种冲突可以把想要版本的依赖直接什么在依赖中,这样路径就最短了优先级最高。
5.最后可以通过打包mvn install 来确认打出来的war包中是否有被排除的依赖。

阅读全文

与mvn解决并发编译冲突问题相关的资料

热点内容
python基础教程pdf下载 浏览:123
如何统计服务器 浏览:742
苹果和安卓怎么赠送模组 浏览:803
服务器倒计时怎么弄 浏览:30
excel文件夹更新 浏览:433
亿点连接app哪里好 浏览:788
java扫码支付 浏览:873
单片机行车记录仪 浏览:391
oppo云服务器什么意思 浏览:82
51单片机可以编译多少公里 浏览:27
用什么工具制作安卓应用 浏览:488
单片机数码管的代码 浏览:779
第一款安卓手机是什么牌子 浏览:396
java异步web 浏览:274
51单片机读tf卡 浏览:940
linux下获取文件 浏览:320
加密文件电脑显示无屏幕截取权限 浏览:356
虚荣安卓用什么充值 浏览:754
阿里云没有服务器如何备案 浏览:708
python用户特性总结 浏览:731