【问题标题】:gwt 2.7 ignores exclude taggwt 2.7 忽略排除标记
【发布时间】:2015-01-12 12:34:09
【问题描述】:

我正在尝试将项目从 gwt-2.6.1 迁移到 gwt-2.7。但是,我面临一个问题。由于某种原因,gwt 编译器忽略了 .gwt.xml 中的继承模块之一。所以我在 .gwt.xml 中有这样的东西:

  <source path="">
    ...
    <exclude name="servlet/**"/>
  </source>

但是在使用带有 gwt-maven-plugin 的 maven 进行编译时,我不断收到这样的错误:

 Tracing compile failure path for type 'my.module.servlet.SomeClass'
[INFO]       [ERROR] Errors in 'jar:file:/path/to/jar/servlet/SomeClass.java'
[INFO]          [ERROR] Line 15: No source code is available for type javax.servlet.ServletContext; did you forget to inherit a required module?

如您所见,gwt 尝试编译 servlet 目录中的文件,该文件在 .gwt.xml 中被排除。 可能是什么原因? gwt-2.6.1没有这样的问题。

编辑:我发现(在 gwt-maven-plugin 配置中)

<configuration>
  <incrementalCompileWarnings>true</incrementalCompileWarnings>
</configuration>

是导致问题的原因(没有它项目编译)。但是,问题仍然存在。

【问题讨论】:

  • 您确定path="" 是正确的吗?通常您指定一个子目录,如 clientshared 或类似的。如果为 emtpy,这可能无法正常工作,因此请尝试 path=".". 表示“当前目录”)并指定 name="./servlet/**" 作为排除路径(即也以 . 为前缀)
  • 你试过&lt;exclude name="servlet/**/*.*"/&gt;吗? (不否认它可能是一个错误,只是试图找到一种解决方法并知道从哪里开始寻找修复它)
  • @geert3 我们在许多模块中使用path="",因为某些java 文件不包含在任何子目录中。我相信这是做事的正确方式 (comments.gmane.org/gmane.org.google.gwt/8663)。

标签: java maven gwt gwt-maven-plugin gwt-2.7


【解决方案1】:

我遇到了同样的问题,

<source path="plugin/campaign/rpc">
    <exclude name="**/impl/**"/>
</source>

现在在 GWT 2.7 中出现错误,impl 下的 java 文件没有被忽略。事实证明,该文件夹有一个错字,实际上被称为“Impl”,所以从 2.7 开始,排除现在似乎不区分大小写了。

我不知道这是否是您的问题,但它解决了我的问题。

【讨论】:

    猜你喜欢
    • 2012-11-21
    • 2021-12-25
    • 2020-02-20
    • 2014-11-12
    • 1970-01-01
    • 1970-01-01
    • 2014-07-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多