GWT 2.7.0 Сбой компиляции [ОШИБКА] Не удается найти класс java/lang/Object
У меня есть проект, который встраивается в 2.6.1 и не встраивается в 2.7.0. Я охотился в Интернете за хорошим ответом, но не смог найти ни одного.
Вот результат сборки Maven:
... Неинтересный материал удален
[INFO] Compiling module XXXX
[INFO] Looking for precompiled archives. To disable, use -Dgwt.usearchives=false
[INFO] Loading archived module: jar:file:/C:/Users/3433/.m2/repository/com/google/gwt/gwt-user/2.7.0/gwt-user-2.7.0.jar!/com/google/gwt/core/Core.gwtar
...
[INFO] Compiling...
[INFO] Compilation completed in 5,95 seconds
[INFO] Invalid Unit: com.google.gwt.validation.client.impl.BaseGwtConfiguration
[INFO] Invalid Unit: com.google.gwt.validation.client.spi.GwtValidationProvider
... другие недействительные единицы удалены
[INFO] Invalid Unit: com.google.gwt.validation.client.spi.BaseConfigurationState
[INFO] Invalid Unit: java.lang.String
[INFO] Invalid units found: 11
[INFO] Compiling...
[INFO] Compilation completed in 0,04 seconds
[INFO] Added 3762 units to cache since last cleanup.
[INFO] Tracing compile failure path for type 'java.lang.String'
[INFO] Errors in 'jar:file:/C:/Users/3433/.m2/repository/com/google/gwt/gwt-user/2.7.0/gwt-user-2.7.0.jar!/com/google/gwt/emul/java/lang/String.java'
[INFO] Line 976: The method getDefault() is undefined for the type Locale
[INFO] Removing invalidated units
[INFO] Wrote 3762 units to persistent cache.
[INFO] Resolving java.util.Locale
[INFO] Found type 'java.util.Locale'
[INFO] [WARN] Unable to resolve supertype java/lang/Object
Многие ошибки удалены...
[INFO] Resolving com.google.gwt.core.client.AsyncProvider
[INFO] Found type 'com.google.gwt.core.client.AsyncProvider'
[INFO] [ERROR] Unable to find class java/lang/Object
[INFO] Resolving method get
[INFO] Found type 'com.google.gwt.core.client.Callback'
[INFO] [ERROR] Unable to find class java/lang/Object
Сотни подобных ошибок удалены
[INFO] Tracing compile failure path for type 'java.lang.Object'
[INFO] [ERROR] Errors in 'file:/usr/local/google/home/dankurka/gwt/user/super/com/google/gwt/emul/java/lang/Object.java'
[INFO] [ERROR] java.lang.String cannot be resolved to a type
Что делает домашний путь Дана Курки в моей сборке?
Есть идеи?
1 ответ
Я знаю, что это старый пост, но недавно у меня возникла та же проблема, поэтому я решил опубликовать свои выводы.
В моем случае я переходил с GWT 2.5.1 на 2.7.0. В нашем коде был класс java.util.Locale, поэтому у компилятора GWT был весь исходный код, необходимый для эмуляции, и он не соответствовал структуре того же класса в GWT 2.7.0. Мне пришлось добавить недостающие методы, и после этого все было хорошо.
Чтобы найти причину, мне пришлось перекомпилировать с параметром -Dgwt.logLevel=DEBUG. Без этого набора основная причина моей проблемы была скрыта. Когда я скомпилировал с установленным уровнем журнала, я смог увидеть, в чем проблема:
[INFO] Compiling...
[INFO] 30% complete (ETR: 9 seconds)
[INFO] 30% complete (ETR: 9 seconds)
[INFO] 30% complete (ETR: 9 seconds)
[INFO] 30% complete (ETR: 9 seconds)
[INFO] 40% complete (ETR: 8 seconds)
[INFO] 50% complete (ETR: 6 seconds)
[INFO] 60% complete (ETR: 4 seconds)
[INFO] 70% complete (ETR: 3 seconds)
[INFO] 80% complete (ETR: 2 seconds)
[INFO] 90% complete (ETR: 1 seconds)
[INFO] 100% complete (ETR: 0 seconds)
[INFO] Compilation completed in 11.10 seconds
[INFO] java.util.Locale isn't structurally same.
[INFO] Invalid Unit: java.lang.String
[INFO] Invalid units found: 1
[INFO] Compiling...
[INFO] Compilation completed in 0.02 seconds
[INFO] Added 5097 units to cache since last cleanup.
[INFO] Tracing compile failure path for type 'java.lang.String'
[INFO] Errors in 'jar:file:/Users/randymay/.m2/repository/com/google/gwt/gwt-user/2.7.0/gwt-user-2.7.0.jar!/com/google/gwt/emul/java/lang/String.java'
[INFO] Line 991: The method getDefault() is undefined for the type Locale
[INFO] Line 976: The method getDefault() is undefined for the type Locale
[INFO] Checked 1 dependencies for errors.