2016-09-05 3 views
0

Это ошибка:Java GWT Compile Error NoSuchMethodError

enter image description here

Я новичок в компиляции GWT приложений, и я слышал, что ошибки компиляции довольно распространены поэтому любые советы о том, как отлаживать эти типы исключений в будущем. Благодаря!

EDIT: Поскольку я новичок в этих ошибках, если мне не хватает информации о том, как исправить это, пожалуйста, дайте мне знать с комментарием, и я опубликую все, что смогу.

+0

Во-первых, не размещайте изображения с текстом. Скопируйте/вставьте текст и отформатируйте его в качестве кода для сохранения отступов/разрывов строк. Во-вторых, это не сообщение компилятора, это исключение во время выполнения. Это означает, что вы скомпилировали код в библиотеке, но затем развернули его где-то там, где библиотека недоступна. Код, который, как ожидается, найдет класс и метод, и, хотя все было там, когда вы скомпилировали, во время выполнения отсутствовал класс (или, вероятно, весь файл jar). Это также может быть вызвано наличием разных версий библиотеки при компиляции и развертывании. –

+0

Хорошо, спасибо за подсказку. Это уже устраняет много путаницы. –

ответ

1

Поскольку ваш вопрос немного общий, вот общий подход для отладки таких ошибок. Я следую этому приложению, чтобы отлаживать исключение NoSuchClass и NoSuchMethod при написании приложений для Android;

  1. Убедитесь, что вы импортируете правильные библиотеки.

  2. Посмотрите на трассировку стека. Если исключение появляется при вызове метода в объекте в библиотеке, вы, скорее всего, используете отдельные версии библиотеки при компиляции и запуске. Удостоверьтесь, что у вас есть правильная версия обоих мест.

  3. Может быть вызвано противоречивыми версиями JAR.

  4. NoSuchMethodError отличается от NoSuchMethodException. Последнее обычно происходит с неотражающим кодом. Не получите путать между двумя.
1

В этом конкретном случае убедитесь, что вы не смешиваете зависимости GWT от разных версий GWT. Вероятно, у вас есть gwt-codeserver (что фактически бесполезно, так как все классы также находятся в gwt-dev) и gwt-dev из разных версий.