在运行时期间采取了错误的工件

时间:2015-11-13 10:34:24

标签: java maven maven-3 war

让我稍微格式化问题:)

问题是

在运行时中,无法解析enum的特定值(它是在项目的pom.xml中包含的1.2版本的依赖项中引入的 - 该版本的库名为common-1.2.jar)

可能由

引起

在运行时期间采取了错误的依赖关系。

说明

在生成的war文件的WEB-INF / lib目录中,有三个版本的公共库(common-1.2.jar,common-1.1.jar,common-1.0.jar),它看起来在运行时期间较旧的一个用来。我通过调用我的枚举上的values()方法来检查它:在1.2版本中没有添加新的 - 值那里。

我执行了mvn依赖:树,那里只有一个公共库 - common-1.2.jar。但是 - 什么可以是观察者 - 正在使用错误的。

问题

有没有办法找出导致项目在运行时使用旧版本的原因?

1 个答案:

答案 0 :(得分:0)

使用eclipse EE + maven插件来追踪依赖

在eclipse EE中,它安装了maven插件。所以只需在编辑器窗口底部单击pom.xml,选择" Dependency Hierarchy"。在右侧,选择commons-1.1.jar或commons-1.0.jar,在左侧" Dependency Hierarchy",您将看到哪个jar导入了旧jar。

在pom.xml中,找到工件,然后添加 <excludes><exclude><artifactId>commons</artifactId><version>1.0 or 1.1</version></exclude></excludes>

确保在右侧,它不应该存在任何commons-1.0.jar或commons-1.1.jar。所以你的问题将会得到解决。