Maven 2 如何覆盖maven-core-2.0.7-uber.jar?

Maven 2 如何覆盖maven-core-2.0.7-uber.jar?,maven-2,Maven 2,我的问题是,我试图在maven(v8.0或其他版本)中使用一个特定的JTidy版本。在编译时一切正常,但在运行时,maven用自己在maven-core-2.0.7-uber.jar中的实现重写pom.xml中的jtiy 另见 可以做些什么?我的应用程序编译得很好,但在运行时失败,因为类加载器从maven-core-2.0.7-uber.jar加载文件,而不是pom.xml中给出的文件。是否有某种方法可以在运行时强制它,或者最好是在编译时强制它?在元素中设置正确的版本应该覆盖默认值 一种解决方法

我的问题是,我试图在maven(v8.0或其他版本)中使用一个特定的JTidy版本。在编译时一切正常,但在运行时,maven用自己在
maven-core-2.0.7-uber.jar中的实现重写pom.xml中的jtiy

另见


可以做些什么?我的应用程序编译得很好,但在运行时失败,因为类加载器从
maven-core-2.0.7-uber.jar
加载文件,而不是
pom.xml
中给出的文件。是否有某种方法可以在运行时强制它,或者最好是在编译时强制它?

元素中设置正确的版本应该覆盖默认值

一种解决方法是用您想要的版本替换maven存储库本地副本中的JTidy JAR


我还建议尝试Maven 2.2。他们更改了工件查找规则,这可能会解决您的问题。看看有效的POM(
mvn帮助:有效的POM
),看看哪些规则适用于插件查找。

我在dependencyManagement中有正确的版本,但Maven完全忽略了它,因为它有自己的Tidy,没有任何依赖项管理。我会尝试更新的Maven,希望它不会破坏任何东西。你是说JTidy的类文件在Maven-core-2.0.7-ueber.jar中?理想情况下,你应该在Maven的Jira中打开一个问题(这将有助于整个社区,因为该解决方案与其说是真正的解决方案,不如说是一个变通方法,在某个地方存在类加载错误)。