为什么GWT编译错误不会破坏Maven构建?
问题描述:
我正在使用gwt-maven-plugin在maven中构建一个GWT项目。为什么GWT编译错误不会破坏Maven构建?
最近我注意到一个类的错误,其中一些服务器代码在客户端类上调用。起初我以为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?
为什么这只是一个信息日志? 为什么这不会打破构建? 我可以强制构建打破这种错误?
答
是的,你可以,而事实上你应该!它很可能会在未来默认使用此选项,因为这些“可恢复”错误会导致编译器出现性能问题,因为它会不断恢复和解决缺少的代码。
使用maven插件,您可以简单地将此标志设置为true。从http://mojo.codehaus.org/gwt-maven-plugin/compile-mojo.html#failOnError,
failOnError:
Fail compilation if any input file contains an error. Can be set from command line using '
-Dgwt.compiler.strict=true
'.
在你的插件的<configuration>
块,这看起来像
<failOnError>true</failOnError>
(这曾经被称为<strict>
,在我自己的一些POM文件,还住这样... )
谢谢!!!!!!!!! –
这适用于源代码,但似乎对集成测试没有影响。 https://gwt-maven-plugin.github.io/gwt-maven-plugin/test-mojo.html不会在接受的gwt:test标志中列出它。还有另外一种方法可以做这个测试吗? –