Glassfish在其modules
目录中存储了大量第三方库。令我惊讶的是,如果我的项目使用了存在的库,Glassfish将从那里提供它,而不是我在WAR文件中打包的正确版本。
这会导致许多错误。例如,我使用jackson-datatype-joda
版本2.6.3,它需要jackson-databind
具有相同版本,并且它包含在我的项目中。但Glassfish用版本2.3.2取代了该软件包,导致this issue。
如何防止Glassfish(4.1)将我使用的库替换为其他版本?
答案 0 :(得分:4)
将glassfish-web.xml文件添加到包含类似
之类的WEB-INF目录中<glassfish-web-app>
<class-loader delegate="false" />
</glassfish-web-app>
这将确保在服务器类路径
之前从战争中加载类