Как мне скомпилировать модуль без EntryPoint? - PullRequest
6 голосов
/ 27 ноября 2009

У меня есть служебный модуль для GWT, у которого нет пользовательского интерфейса (следовательно, нет класса, который наследует от com.google.gwt.core.client.EntryPoint. Когда я пытаюсь скомпилировать этот модуль с GWT 1.7.1, я получаю эту ошибку:

[ERROR] Module has no entry points defined

Как мне избавиться от этой ошибки? Я действительно должен определить фиктивную точку входа? Как Google когда-либо компилировал свои собственные служебные модули ???

Ответы [ 5 ]

5 голосов
/ 27 ноября 2009

Служебные файлы не нужно компилировать в GWT.

Если вы просто хотите использовать это как библиотеку в других приложениях GWT, вам просто нужно собрать файлы .class и .java в один jar и убедиться, что у вас есть файл .gwt.xml, в котором указано, где находится исходный код клиента является. Если вы следуете соглашениям (клиентские классы в клиенте), тогда вы можете избежать неприятностей, иначе вам нужно будет указать тег для клиентского пакета

Затем убедитесь, что вы унаследовали этот файл .gwt.xml в проектах, где вы хотите скомпилировать точку входа.

3 голосов
/ 27 ноября 2009

Нет, вам не нужно EntryPoint. Вот пример одного из моих модулей, у которого его нет:

<?xml version="1.0" encoding="UTF-8"?>
<module>
    <source path="grid" />
    <inherits name="com.google.gwt.user.User"/>
</module>

Краткий ответ: вы не компилируете код в модулях. GWT просто нуждается в них в качестве исходного кода. Когда вы компилируете свой основной модуль (тот, который имеет точку входа), он использует исходный код из любых других модулей, которые вы унаследовали в файле .gwt.xml, чтобы скомпилировать весь проект.

0 голосов
/ 20 мая 2010

Если вы используете плагин eclipse GWT, просто удалите модуль без EntryPoint из списка модулей, который появляется непосредственно перед компиляцией.

0 голосов
/ 05 декабря 2009

У нас есть служебный модуль, который конструирует и обрабатывает некоторые общие элементы пользовательского интерфейса, а также набор общих задач javascript / json.

Похоже, что то, что мы сделали (также перенесли из плагина totsp в плагин codehaus где-то вдоль линии), включили точку входа в модуль util; это было просто пусто. (Включает комментарий «Преднамеренное отсутствие операции»).

Тогда пом просто называет вещь зависимостью.

0 голосов
/ 27 ноября 2009

Я использую плагин gwt-maven-plugin Maven2 для компиляции своего кода. Я перенес код из старой версии плагина maven-googlewebtoolkit2-plugin. Для старого плагина я должен был указать, какие модули были точками входа, например:

                <compileTargets>
                    <param>com.project.module.Module</param>
                </compileTargets>

Для нового плагина это

                <module>com.project.module.Module</module>

Поскольку плагин не может найти модули для компиляции, он ищет «* .gwt.xml» и компилирует их в «модули UI» (которые должны иметь точку входа).

...