Java EE应用程序中的不同版本的lib

时间:2013-11-20 17:32:37

标签: java-ee log4j java

我们有一个Java EE应用程序,它使用log4j版本'x'进行日志记录。 在项目增强期间,我想添加另一个使用log4j版本'y'的第三方库。我认为我们需要将“x”和“y”版本的库添加到类路径中。

任何人都可以解释如何处理这种情况吗?

2 个答案:

答案 0 :(得分:1)

你不应该在同一个类加载器中。您可以找到适用于您的两个库的版本。

如果您使用maven,则可以通过以下方式排除传递依赖:

<exclusions>
    <exclusion>
        <groupId>...</groupId>
        <artifactId>...</artifactId>
    </exclusion>
</exclusions>

答案 1 :(得分:0)

在您的应用程序中拥有相同jar的2个不同版本是个坏主意。就log4j而言,所有1.x版本都是向后兼容的,只有2.x(仍处于测试版)不向后兼容。因此只要jar'x'和jar'y'都属于1.x系列,你就可以只使用一个最新版本(1.2.17),而不会有任何问题。