Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaMaven需要支持不同版本的库_Java_Maven_Pom.xml - Fatal编程技术网

JavaMaven需要支持不同版本的库

JavaMaven需要支持不同版本的库,java,maven,pom.xml,Java,Maven,Pom.xml,我需要图书馆L版本A和版本B同时 版本A的库L 第三方库(需要B版的库L) 如果我像上面那样写,第三方库也会招募verions A的库L,而不是版本B。那么它会抛出一些错误,我应该如何声明pom使其工作 顺便说一句,必须使用有线标记,否则,格式会混乱 请帮助我继续寻找答案 谢谢默认情况下,您不能拥有相同工件的两个版本 假设即使您对其进行了黑客攻击以使其正常工作,在运行时,类路径顺序中的第一个将获得优先权,因此执行idae确实是非常糟糕的这确实不是一个好主意。但当我不得不这样做时,我应该如

我需要图书馆L版本A和版本B同时


版本A的库L
第三方库(需要B版的库L)

如果我像上面那样写,第三方库也会招募verions A的库L,而不是版本B。那么它会抛出一些错误,我应该如何声明pom使其工作

顺便说一句,必须使用有线标记,否则,格式会混乱

请帮助我继续寻找答案


谢谢

默认情况下,您不能拥有相同工件的两个版本


假设即使您对其进行了黑客攻击以使其正常工作,在运行时,类路径顺序中的第一个将获得优先权,因此执行idae确实是非常糟糕的

这确实不是一个好主意。但当我不得不这样做时,我应该如何配置?你如何运行你的应用程序?构建一个war并将war部署到Tomcati如果你使用汇编插件,你可以在war文件中的特定位置推送特定的jar,那么通过配置将jar文件放置到
WEB-INF/lib
你有任何汇编插件关键字吗,这样我就可以快速搜索如何做到这一点?感谢您不能在单个类加载器中完成此操作。您可以在不同的类加载器中加载同一个库的两个不同版本,但要使其正常工作,您需要做很多棘手的事情。我将尝试找出如何使用库的一个版本来工作。如果您试图在一个类加载器中包含两个版本,则没有解决方案。如果您试图让maven解析一个单一的、特定的版本,那么这相当简单。
  <-Dependency->

        Library L of version A
  <-/Dependency->
  <-Dependency->
        Third party library (needs Library L of version B)
  <-/Dependency->