Я пытаюсь понять, как работает компиляция 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 работает просто отлично (класс является то, что регистрирует джин привязок , которые также работают).
Почему 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: забыл добавить.
У меня возникает соблазн предположить, что компиляция завершилась неудачно, когда ошибка находится в чем-то, непосредственно достижимом из точки входа, и что компиляция в порядке, когда этот код недоступен. Однако у меня есть встречный пример кода с аннотациями. У меня есть код, который доступен для доступа из точки входа, и имеет аннотации, исходный код которых недоступен, и все же компиляция завершается успешно (хотя это единственное исключение, которое я смог найти до сих пор).