2016-11-04 3 views
0

Я не переживаю эксперимент в gwt и не переношу один из муравьев проекта gwt на maven для миграции детонов.Проблема структуры пакета GWT. Модуль не имеет точек входа.

в муравейнике работает отлично.

, но когда я использую maven с gwt-maven-plugin, чтобы сгенерировать код, который становится ниже ошибки.

[DEBUG] Найдено класс: класс com.google.gwt.dev.GWTCompile [INFO] Компиляция GWT модуль com.companyname.projectname.branch.gwt.Dto [DEBUG] вызвать GWTCompiler # Главные (String []) [ERROR] Модуль не имеет точек входа определяется [ERROR] Сложение неудачных

это структура SAMPE

enter image description here

основной модуль XML

<module> 
<inherits name='com.google.gwt.user.User' /> 
<inherits name='com.google.gwt.i18n.I18N' /> 
<inherits name='com.google.gwt.http.HTTP' /> 
<inherits name='com.companyname.projectname.branch.gwt.Dto' /> 
<inherits name='com.companyname.projectname.commons.Commons' /> 


<servlet path="/projectnamePLServicesImpl" 
    class="com.companyname.projectname.pr.gwt.server.projectnamePLServicesImpl" /> 

<entry-point class='com.companyname.projectname.ui.gwt.client.MainModule' /> 

DTO XML

<?xml version="1.0" encoding="UTF-8"?> 
<module> 
<inherits name='com.google.gwt.user.User' /> 
<inherits name='com.google.gwt.i18n.I18N' /> 
</module> 

и мавена плагин

  <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>gwt-maven-plugin</artifactId> 
       <version>1.0</version> 
       <configuration> 
       <moduleName>com.companyname.projectname.ui.gwt.client.MainModule</moduleName> 


       <!-- <logLevel></logLevel> --> 
       </configuration> 
       <executions> 
     <execution> 

     <goals> 
      <goal>compile</goal> 
     </goals> 
     </execution> 
    </executions> 

ответ

0

Насколько я вижу, ваш главный файл модуля gwt.xml помещается внутрь com.companyname.projectname.ui.gwt пакет, поэтому конфигурация для подключаемого модуля GWT Maven должен быть следующим:

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>gwt-maven-plugin</artifactId> 
    <version>2.8.0</version> 
    <configuration> 
     <module>com.companyname.projectname.ui.gwt.MainModule</module> 
     <!-- <logLevel></logLevel> --> 
    </configuration> 
    <executions> 
     <execution> 
     <goals> 
      <goal>compile</goal> 
     </goals> 
     </execution> 
    </executions> 
</plugin> 

Также я советую использовать ту же версию GWT-Maven-плагин используется для артефактов GWT (например, если вы используете GWT 2.8 .0, вы можете использовать версию плагина GWT версии 2.8.0).

Попробуйте добавить некоторую конфигурацию вашего gwt.xml основного файла, например:

<module> 
    <inherits name='com.google.gwt.user.User' /> 
    <inherits name='com.google.gwt.i18n.I18N' /> 
    <inherits name='com.google.gwt.http.HTTP' /> 
    <inherits name='com.companyname.projectname.branch.gwt.Dto' /> 
    <inherits name='com.companyname.projectname.commons.Commons' /> 


    <!--servlet path="/uploadServlet"  class="com.companyname.rsa.gwt.demo.server.UploadServlet"/--> 

    <servlet path="/projectnamePLServicesImpl" 
class="com.companyname.projectname.pr.gwt.server.projectnamePLServicesImpl" /> 

    <source path='client'/> 

    <entry-point class='com.companyname.projectname.ui.gwt.client.MainModule' /> 
</module> 

«Источник» Тег покажет компилятор GWT, где искать классы Java, чтобы перевести в JavaScript, так что сделайте свой класс точки входа доступным.

+0

Это очень старая версия gwt 1.4.10. Если я использую новые плагины, получающие jdk в совместимости. проблема не в mainmoduel. Он находится в пакете Dto :( –

+0

Если проблема действительно в пакете Dto, то что будет создавать фиктивную точку входа для этого модуля? :) Например, создайте фиктивный класс, измените dto.gwt.xml, указав точка входа. Знаешь, просто мысли :) – arcquim