为什么GWT编译错误不会破坏maven构建?

时间:2015-04-22 21:30:30

标签: java maven gwt

我正在使用gwt-maven-plugin在maven中构建一个GWT项目。

最近我注意到一个类的错误,其中一些服务器代码在客户端类上被调用。起初我认为gwt编译出了问题(不包括这个类)。但后来我注意到它正在编译该类,并且它在信息日志级别上抛出错误。

[INFO]    Tracing compile failure path for type 'com.mycompany.shared.IElement'
[INFO]       Errors in 'jar:file:/Users/myuser/.m2/repository/com/mycompany/package/package-java/1.0.0-SNAPSHOT/package-java-1.0.0-SNAPSHOT-sources.jar!/com/mycompany/shared/IElement.java'
[INFO]          Line 45: No source code is available for type com.mycompany.test.Tester; did you forget to inherit a required module?

为什么这只是一个信息日志? 为什么这不打破构建? 我可以强制构建来打破这种错误吗?

1 个答案:

答案 0 :(得分:4)

是的,你可以,事实上你应该!它甚至可能在将来默认启用此选项,因为这些类型的可恢复的'错误会导致编译器出现性能问题,因为它会不断恢复并解决丢失的代码。

使用maven插件,您只需将此标志设置为true即可。来自http://mojo.codehaus.org/gwt-maven-plugin/compile-mojo.html#failOnError

  

failOnError:

     

如果任何输入文件包含错误,则编译失败。   可以使用' -Dgwt.compiler.strict=true'。

从命令行设置

在您的插件的<configuration>区块中,这看起来像

<failOnError>true</failOnError>

(以前称为<strict>,在我自己的一些pom文件中,仍然以这种方式存在......)