Google Web Toolkit - как добавить внешний пакет .jar

Как добавить внешний пакет .jar в Google Web Toolkit (GWT)? Я выполнил шаги

1) добавил .jar в путь к классам
2) добавил ‹наследует name = 'org.scribe.model' /> в моем test.gwt.xml

Я получаю такую ​​ошибку:

Загрузка унаследованного модуля org.scribe.model
[ОШИБКА] Невозможно найти org / scribe / model.gwt.xml в пути к классам; может быть опечатка или вы забыли указать путь к классам для источника?
[ОШИБКА] Строка 8: Неожиданное исключение при обработке элемента "наследуется"

Однако я обнаружил из многих источников, что вам нужны исходные файлы для компиляции gwt на стороне клиента. У меня вопрос: а что, если нельзя получить исходный файл пакета .jar? Какое обходное решение?

Заранее спасибо.


person Sam    schedule 11.01.2011    source источник


Ответы (3)


Если это модуль GWT, он упакован с исходными кодами. Убедитесь, что в нем должны быть файлы jar Java.

Есть два способа использовать сторонние зависимости в вашем GWT приложении.

  • Это либо уже GWT модуль, который вместе с исходными файлами содержит XML-файл модуля. В этом случае вы просто ссылаетесь на него, используя inherits.
  • Или это какая-то обычная сторонняя зависимость, в этом случае вам нужен исходный код, и вам также нужно поиграть с именами пакетов, поскольку GWT требует, чтобы исходный код находился в пакете client. Даже если вы это сделаете, поскольку артефакт не разрабатывается GWT, он, скорее всего, может содержать код, который не разрешен GWT, например вы не можете использовать Threads в GWT.
person Umut Utkan    schedule 11.01.2011
comment
Пакет, который я использую, не является модулем GWT. - person Sam; 11.01.2011
comment
Тогда почему вы ссылаетесь на него, как на GWT модуль? Обозначение <inherits name='org.scribe.model' /> означает, что это GWT модуль и он содержит модуль xml (*.GWT.xml) вместе с исходными файлами. - person Umut Utkan; 11.01.2011
comment
Вы абсолютно правы. Я не должен. Как мы можем ссылаться на внешний пакет? - person Sam; 11.01.2011

Нет никакого обходного пути. Вам нужны исходные файлы .. По крайней мере, вы можете декомпилировать файлы классов ..

person Gursel Koca    schedule 11.01.2011
comment
Значит, любой файл jar, у которого нет исходного кода, нельзя использовать в GWT? - person Sam; 11.01.2011

Мое предложение заключалось в том, чтобы обрабатывать интенсивную логику на стороне сервера (в серверном пакете)

На стороне сервера вы можете использовать классы, которые не поддерживаются интерфейсом GWT (классы в клиентском пакете).

Например, когда я пытался использовать BufferedReader в клиенте, у меня были исключения, я затем переместил его в серверный пакет и перенастроил результат. То же было и с RE, который тоже не работал в клиентском коде.

Сделайте свой клиентский код максимально простым. Надеюсь это поможет.

Ура, ПБ

person Babajide Prince    schedule 18.04.2012