0

每个大小合适的 Java EE 都包含大量的 jar 文件。但真正让我恼火的是,你必须正确匹配不同的 jar 文件版本。例如,当使用 joda-time 2.2 和 hibernate-entitymanager 时,如果我选择 hibernate-entitymanager 4.2.2 Final,那么我会得到这个奇怪的异常:

"java.lang.AbstractMethodError: org.joda.time.contrib.hibernate.PersistentDateTime.nullSafeGet(Ljava/sql/ResultSet;[Ljava/lang/String;Lorg/hibernate/engine/spi/SessionImplementor;Ljava/lang/Object;)Ljava/lang/Object;". 

然后,如果我选择 hibernate-entitymanager 3.6.8 Final,那么一切正常。我想知道是否有插件可以在 pom.xml 编辑器中自动检测不兼容的 jar 文件(例如给出警告或突出显示不兼容的 jar)并建议兼容版本?

4

1 回答 1

1

我在 Google 搜索时在 Github 上找到了maven-dependency-versions-check-plugin 。它看起来经过深思熟虑,文档看起来非常全面。(好的!)

请注意,文档您需要从源代码签出构建它......但我实际上在Maven Central 中找到了该插件。

目前还不清楚它在实践中的效果如何。首先,它只能与相应 POM 文件中包含的依赖项兼容性信息一样好。

于 2013-07-07T03:51:19.233 回答