应该如何处理应用服务器中的库冲突?

时间:2011-09-05 08:39:56

标签: glassfish application-server name-clash

第三方库通常包含在您部署到的应用服务器中,并与应用程序包含的应用服务器进行分类。到目前为止,我已经用最简单和最可能的方式解决了这个问题:删除应用服务器上的库。

在我们的案例中没关系,没有人依靠应用服务器为他们提供任何库。但是如果我运行我的应用程序以及许多其他人的应用程序,这可能还取决于应用程序服务器包含的库,这将不是一个解决方案。

如何解决这个 (干净利落)?你是怎么做到的?

问题的一个例子可能是: 你使用cxf,hibernate和jackson构建一个jax-rs应用程序,并部署到glassfish 2.1.1。 glassfish提供了asm 3.1库,但这会导致使用不兼容的1.5版本与hibernate发生冲突。类似地,应用程序需要jackson 1.8.2(由于修复了错误),但是glassfish 2.1.1的版本为0.9。繁荣。除了简单地删除有问题的库之外,还有什么方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

考虑使用:

asadmin deploy --libraries ...