【问题标题】:GWT/Maven Project - Maven dependency order wrongGWT/Maven 项目 - Maven 依赖顺序错误
【发布时间】:2013-11-09 00:20:42
【问题描述】:

我在我的 GWT/Maven 应用程序中使用 HtmlUnit(特别是 WebClient 类)库。但是由于某种原因,在使用的 GWT Jar 中似乎有一个非常旧的版本。在“Order and Export”选项卡中的“Java Build Path”下,我将“Maven Dependencies”移到了顶部。所以它应该先在这里寻找来源吧?

为什么总是使用 GWT Jar 中的旧版本?我怎样才能防止这种情况发生?

它的 pom.xml 只显示一次:

两个类:

【问题讨论】:

  • GWT 因将古老版本的依赖项嵌入到它的怪物 jar 中而臭名昭著(在某一时刻,它的 Servlet 版本已经过时了十年);大约四年来,模块化 GWT 构建一直是“高度优先”的项目。
  • GWT 2.6.0-rc1 使用 HtmlUnit 2.13,您可能会考虑使用它。最坏的情况是,您发现了一个错误,而 2.6 的最终版本要好得多。

标签: java eclipse maven gwt dependencies


【解决方案1】:

GWT 将 HtmlUnit 用于 GWTTestCases,并且只会在为 Google I/O 2014 预定的 GWT 3.0 中进行模块化(具有声明/管理的依赖项)。

Maven 不支持任意类路径(仅编译、测试和运行时),因此您别无选择,只能将 HtmlUnit 的使用转移到另一个不依赖 GWT 的 Maven 模块中。

请注意,即使 GWT 使用托管依赖项,它也无法解决您的问题:GWTTestCase 会中断,因为您使用的版本(HtmlUnit 2.13)与 GWT 2.5.1 中捆绑的 on 不向后兼容( HtmlUnit 2.9).
…或者按照 Colin 的建议,尝试使用(捆绑)HtmlUnit 2.13 的 GWT 2.6.0-rc1。

【讨论】:

    猜你喜欢
    • 2012-09-19
    • 1970-01-01
    • 1970-01-01
    • 2018-10-20
    • 2012-11-18
    • 2012-06-16
    • 1970-01-01
    • 1970-01-01
    • 2014-05-25
    相关资源
    最近更新 更多