我正在使用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?
为什么这只是一个信息日志? 为什么这不打破构建? 我可以强制构建来打破这种错误吗?
答案 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文件中,仍然以这种方式存在......)