Как ссылаться на исходный код сторонней библиотеки для использования клиентом в GWT? - PullRequest
3 голосов
/ 14 января 2012

В документации GWT говорится, что весь исходный код для компиляции в JavaScript на стороне клиента должен находиться в подпакете файла gwt.xml. Как это работает, когда кто-то ссылается на сторонние библиотеки?

В частности, если у меня есть библиотека foo.jar, и я хочу использовать некоторые POJO (которые Serializable) и не всасывать какой-либо не-1006 * код, как я могу использовать эти POJO? Как мне сказать GWT, где находится их исходный код?

Ответы [ 2 ]

5 голосов
/ 14 января 2012

Помните также, что компилятору GWT необходим фактический исходный код Java для компиляции в javascript, поэтому недостаточно, чтобы классы были доступны и чтобы все были сериализуемыми.Чтобы RPC отправлял классы по проводам, они должны быть в состоянии использовать их как JS, когда они добираются до клиента.

Тем не менее, посмотрите в gwt-user на модуль javax/validation/Validation.gwt.xml.его файл помещен туда, чтобы другие пакеты в javax.validation - даже в других jar - могли быть скомпилированы в JS для проверки на стороне клиента.если у вас есть jar (и исходники) в вашем classpath с кодом в com.thirdparty.pojos, вы можете создать файл модуля в вашем собственном проекте в том же каталоге в вашем собственном источнике (что-то вроде com/thirdparty/pojos/ThirdParthRpc.gwt.xml) и поставить <source path="" />элемент в нем, чтобы указать, что весь пакет является законным для перевода в JS. Вероятно, будут некоторые файлы, которые не могут быть переведены - используйте тег exclude, чтобы справиться с ними.

0 голосов
/ 14 января 2012

Если у вас есть контроль над упаковкой foo в foo.jar, и у вас есть все источники, тогда это легко.

Если у вас есть упакованный файл foo.jar и у вас есть исходный код, вам нужно развернуть файл foo.jar, скопировать исходный код в разобранный каталог .jar, сгенерировать простой файл GWT module.xml и добавить тег к модулю вашего проекта.

...