当前位置:首页>开发>正文

关于jar包版本依赖冲突问题如何解决,求教大神 idea中build.sbt文件中配置的jar包依赖一直报错

2023-06-15 21:25:58 互联网 未知 开发

 关于jar包版本依赖冲突问题如何解决,求教大神 idea中build.sbt文件中配置的jar包依赖一直报错

关于jar包版本依赖冲突问题如何解决,求教大神

关于jar包版本依赖冲突问题如何解决
大型的基于WebSphere的项目开发中,同一个WebSphereApplicationServer(以下简称WAS)上会部署多个应用程序,而这多个应用程序必然会共用一些jar包,包括第三方提供的工具和项目内部的公共jar等。把这些共用的jar包提取出来在多个应用程序之间共享,不仅可以统一对这些jar包进行维护,同时也提高了WAS的性能。但是随着应用的不断扩大,新的应用程序的不断增加,新的应用程序会希望使用一些更高版本的共享jar包,而由于系统运行维护的需要,老的应用程序仍然希望用老版本的共享jar包,这样就必然造成了共享jar包的版本冲突。jar包版本冲突问题是在大型应用项目的开发中经常遇到的问题,本文试图从WebSphere的类加载器入手,讨论几种在不同情况下解决jar包冲突问题的法。

idea中build.sbt文件中配置的jar包依赖一直报错

第一步:看pom.xml中有没有引入相关jar包的坐标; 第二步:执行mvn clean compile 命令,看看有没有自动把jar包下到本地maven仓库; 第三部:如果下载不成功,重新配置maven镜像,重新执行第二部的命令 希望对楼主有帮助!

java jar包冲突怎么解决

由于,lib目录中的 struts.jar 和 struts-core-1.3.8.jar 存在冲突
导致部分服务器上应用启动报错,或访问后台JSP页面时报TILES标签错误,
经排查,其实struts.jar中的class文件在
struts-core-1.3.8.jar
struts-taglib-1.3.8.jar
struts-tiles-1.3.8.jar
中均已存在,且版本要高于struts.jar中的class
struts.jar为version1.0
而struts-core-1.3.8.jar,truts-taglib-1.3.8.jar,struts-tiles-1.3.8.jar为version1.在struts1.2中引用tiles tld的写法发生变化

故解决办法如下:
1.去掉原strtus.jar
2.去掉struts-tiles.tld
3.将所有JSP页面中的
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles"%>
改为
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%>

Eclipse有办法打Jar包时自动解决依赖问题吗

依赖问题往往是由构建工具来解决的、
构建工具有:
Apache Maven ——主要用于构建Java项目的自动化工具。

Hudson ——用Java编写的持续集成(CI)工具。

Jenkins ——用Java编写的一个开源持续集成工具。项目是在和Oracle发生争执后的来自于Hudson 的分支。

Gradle ——一个开源的自动化构建系统,建立在Apache Ant和Maven Apache概念的基础上,并引入了基于Groovy的特定领域语言(DSL),而不是使用Apache Maven宣布的项目配置XML形式。

Apache Ant ——用于自动化软件构建过程的软件工具,源于2000年初的的Apache Tomcat项目。

SBT ——用于Scala和Java项目的开源构建工具,类似于Java的Maven和Ant。

Atlassian Bamboo ——持续集成和交付工具,它将自动化构建、测试和发布捆绑到单个流程中。

TeamCity ——来自于JetBrains的一个基于Java构建的管理和持续集成服务器。

Grape ——嵌入到Groovy的JAR依赖项管理器。

Ivy ——Apache Ant项目的一个子项目,一个可传递的依赖项管理器。

Leiningen ——一个自动化构建和依赖性管理工具,用于使用Clojure编程语言写的软件项目。

用的最多的一个是maven了吧,推荐maven,可以解决jar包依赖问题。

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去掉他的依赖传递
方法二:在父级pom中使用dependencyManagement管理公用的jar版本,子类中引入自己需要的jar版本,maven会优先使用子类的jar。

最新文章