GWT Нет доступного исходного кода для типа [userClassName]
ОК, эта ошибка началась сегодня утром. у меня есть Maven
Проект под названием "snmp-jobs", который ранее использовался только для передачи SNMP-связи. Из-за изменений, сделанных в последнее время, этот проект теперь содержит DTO
классы также. Кроме того, теперь есть два основных подпакета: shared
а также server
где первый содержит те DTO и второй серверный код. Этот проект также имеет .gwt.xml
файл, который указывает:
<source path="shared"/>
Другой проект, называемый "mib", ссылается на "snmp-jobs" и использует эти классы DTO в клиентском коде. Точнее, проблемный класс называется MibRow.
Когда я компилирую проект GWT, он сообщает об ошибке:
Исходный код для типа "rs.jp.jobs.shared.MibRow" недоступен; Вы забыли унаследовать необходимый модуль?
Я понимаю, что это действительно распространенная ошибка. Насколько я понимаю, GWT не может найти источники для MibRow
класс и не может продолжить компиляцию GWT. Это правда?
Я перепробовал все побочные предложения, но пока ни один из них не решил проблему. Кто-нибудь может дать мне подсказку, что попробовать дальше?
Большое спасибо!
ОБНОВИТЬ:
Я запустил компиляцию из консоли с -Dgwt.logLevel=DEBUG
и есть две линии, которые торчат:
Loading inherited module 'rs.jp.jobs.Jobs'
[INFO] Module location: USER_DIR/.m2/repository/rs/jp/jobs/snmp-jobs/1.0.4-SNAPSHOT/snmp-jobs-1.0.4-SNAPSHOT.jar!/rs/jp/jobs/Jobs.gwt.xml
а также
Errors in 'rs/jp/mib/client/commands/mib/report/DataResponse.java'
[INFO] Line 10: No source code is available for type rs.jp.jobs.shared.MibRow; did you forget to inherit a required module?
По-видимому, GWT
удалось найти Jobs
модуль, но не знает о shared
пакет:-/
1 ответ
ОК, мне удалось решить эту проблему. Мне не хватало следующего XML
блок из pom.xml
в snmp-jobs
проект:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
Надеюсь, это будет полезно для кого-то:)