Как мне скомпилировать модуль без точки входа?

StackOverflow https://stackoverflow.com/questions/1808197

  •  05-07-2019
  •  | 
  •  

Вопрос

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

[ERROR] Module has no entry points defined

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

Это было полезно?

Решение 3

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

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

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

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

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

Другие советы

Банки утилит не обязательно компилировать с помощью GWT.

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

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

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top