我想了解更多關於GWT編譯如何工作。GWT編譯器:什麼時候編譯錯誤是致命的?
更具體地說,我想知道GWT如何決定一個特定的錯誤是致命的,並且應用程序編譯應該因爲它而失敗,以及它如何決定編譯成功,即使存在編譯錯誤。
我問的原因是,在進行搜索時,我很難區分日誌中的合法錯誤,而這些錯誤似乎不會導致任何問題。
我在談論GWT 2.7和GWT 2.8(我已經看到它們表現出相同的行爲)。 此外,我使用GWTP 1.5.3,如果這是相關的一些。
一個具體的例子:我有這樣的錯誤在我的日誌:
Tracing compile failure path for type 'myApp.ClientModule'
Errors in 'file:/E:/data/.../myApp/ClientModule.java'
Line 24: No source code is available for type myApp.client.ServicesProvidersModuleGen; did you forget to inherit a required module?
Checked 1 dependencies for errors.
上述錯誤不會使我的應用程序失敗的編譯和對myApp工作得很好(類的東西,註冊一些GIN綁定,這也起作用)。
爲什麼GWT在遇到錯誤時不能編譯失敗?
此外,我也有其他的錯誤,如:
Errors in 'com/google/gwt/validation/client/impl/AbstractGwtSpecificValidator.java'
Line 102: No source code is available for type javax.validation.ValidationException; did you forget to inherit a required module?
Line 177: No source code is available for type javax.validation.ConstraintValidator<A,T>; did you forget to inherit a required module?
Line 153: No source code is available for type javax.validation.groups.Default; did you forget to inherit a required module?
Line 302: No source code is available for type javax.validation.ConstraintViolation<T>; did you forget to inherit a required module?
這些錯誤也沒有辜負我的編譯。爲什麼?
編輯1:忘了補充。
我很想知道,如果錯誤是從某個入口點直接到達的東西,編譯失敗,並且該代碼無法訪問時編譯正常。 但是,我有帶註釋的代碼的反例。 我有從入口點到達的代碼,並且有註釋的源代碼不可用,但編譯成功(儘管這是迄今唯一可以找到的異常)。