2016-11-04 25 views
0

我並沒有將gwt中的實驗和將gwt項目ant之一遷移到maven以進行devops遷移。GWT軟件包結構問題 - 模塊沒有定義入口點

在螞蟻構建它工作正常。

但是當我使用gwt-maven-plugin的maven生成獲取低於錯誤的代碼時。

[DEBUG]找到類:類com.google.gwt.dev.GWTCompile [INFO]編譯GWT模塊com.companyname.projectname.branch.gwt.Dto [DEBUG]調用GWTCompiler#主要(字符串[]) [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> 

和Maven插件

  <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工件(例如GWT-Maven的插件的版本相同,如果使用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。問題不在於主模塊。它在Dto包中:( –

+0

)如果問題確實存在於Dto包中,那麼爲這個模塊創建一個虛擬入口點是什麼?:)例如,創建虛擬類,更改dto.gwt.xml,指定一個入口點。你知道,只是想法:) – arcquim