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
Java 将maven创建的war文件部署到glassfish服务器,确定类路径的顺序?_Java_Maven_Glassfish_Classpath_War - Fatal编程技术网

Java 将maven创建的war文件部署到glassfish服务器,确定类路径的顺序?

Java 将maven创建的war文件部署到glassfish服务器,确定类路径的顺序?,java,maven,glassfish,classpath,war,Java,Maven,Glassfish,Classpath,War,设置 我有一个maven项目,它创建了一个war文件,然后将war文件部署到glassfish服务器(3.1) 我的清单是只包含基本信息的默认清单,但我也尝试了maven war插件将类路径添加到清单中。从我对该插件的理解来看,它只会帮助我确定web inf/lib范围之外的lib 问题 在我的war文件中,我有两个依赖项,它们都包含相同的类,但该类有两个不同的版本,因此我需要指定Glassfish归档类加载器以按特定顺序加载它们。现在我完全不知道该怎么做,这就引出了我的问题 问题 是否可以使用

设置

我有一个maven项目,它创建了一个war文件,然后将war文件部署到glassfish服务器(3.1)

我的清单是只包含基本信息的默认清单,但我也尝试了maven war插件将类路径添加到清单中。从我对该插件的理解来看,它只会帮助我确定web inf/lib范围之外的lib

问题

在我的war文件中,我有两个依赖项,它们都包含相同的类,但该类有两个不同的版本,因此我需要指定Glassfish归档类加载器以按特定顺序加载它们。现在我完全不知道该怎么做,这就引出了我的问题

问题

  • 是否可以使用清单文件强制Glassfish使用特定的类路径
  • Glassfish如何确定在WEB-INF/lib中加载jar文件的顺序
  • 可以告诉Glassfish如何以其他方式指定类路径吗
  • 如果没有,是否可能影响Glassfish在WEB-INF/lib中加载jar文件的顺序
  • (我没有在SO中发表评论的权限,因此答案是) 下面的链接描述了一种管理类加载顺序的方法。但是,正如其他人正确指出的,您试图实现的一点都不好


    为什么不使用maven只打包要避免同一库的多个版本的依赖项?如果这些是传递性的LIB,只要找出哪些LIBS拿走它们,排除在POM.XMLI中,希望我可以,但遗憾的是,我们处于很多组件的中间,并且有很多依赖性,我们必须拥有这些依赖性。如果我将它们排除在pom.xml中,其他依赖项将不起作用。因此,我需要使用一个特定类的最新版本,并允许其他类也位于类路径中。我们有两个客户端,它们使用两个不同版本的Jersey REST客户端,Jersey中包含javax rs,如果其中一个被排除,它将停止工作,如果我直接使用javax rs依赖,我会得到一个向后的comp版本。你有来自不同工件的冲突类吗?你应该清理你的建筑,否则你会撞到墙…如果你说你做不到,那你就无法处理。你必须找到问题的根本原因…如果你使用两个版本的Jersey REST客户端……听起来怪怪的……清理你的构建。我的项目没有使用两个不同的版本,但是我的项目在许多其他项目的中间,这些项目是由不同团队的不同发行周期维护的。我知道我不希望来自不同工件的类发生冲突,但我真的没有选择。。是的,两个不同的依赖项使用两个不同的Jersey REST客户端,而较旧的Jersey版本包含javax rs包本身这一事实是我的问题的根本原因。。这就是我遇到这个问题的原因,我很乐意接受你提供的任何帮助!我知道这不是一个好的解决方案,这是一个暂时的解决办法,而有这些问题,我不喜欢它,但我真的没有选择。谢谢你的链接,我将尝试这个,看看我是否可以得到它的工作!