防止Glassfish使用自己的库版本而不是项目中的库

时间:2016-02-15 07:44:10

标签: java glassfish pom.xml glassfish-4

Glassfish在其modules目录中存储了大量第三方库。令我惊讶的是,如果我的项目使用了存在的库,Glassfish将从那里提供它,而不是我在WAR文件中打包的正确版本。

这会导致许多错误。例如,我使用jackson-datatype-joda版本2.6.3,它需要jackson-databind具有相同版本,并且它包含在我的项目中。但Glassfish用版本2.3.2取代了该软件包,导致this issue

如何防止Glassfish(4.1)将我使用的库替换为其他版本?

1 个答案:

答案 0 :(得分:4)

将glassfish-web.xml文件添加到包含类似

之类的WEB-INF目录中
<glassfish-web-app>
  <class-loader delegate="false" />
</glassfish-web-app>

这将确保在服务器类路径

之前从战争中加载类