2011-06-28 33 views

回答

3

我不知道你是否看過這個,但你可以使用compileSourcesArtifacts屬性來包含你生成的代碼作爲外部庫。有一篇關於在GWT Plugin Documentation中設置的文章。但是,只有當您不需要將外部代碼包含在您的Web應用程序中時,此功能纔有效。

當我們過去需要這樣做時,我們使用maven-resources-plugin's copy-resources goal將源代碼複製到我們的主包結構中,並配置了maven-clean-plugin to remove the files。由於gwt編譯發生在build lifecycleprepare-package階段,因此您需要將源文件複製到目錄之前(我們將其限制爲process-classes)。

+0

我將那些其他源文件複製到gwt編譯中去的目錄是什麼? –

+0

我需要更多地瞭解你想要對他們做什麼。他們是觀點,主持人,圖書館類,模型還是其他? –

+0

它們是生成的工件,gwtp事件和動作。但是我發現只要我在gwt:compile之前編譯java就行了(沒關係)。不需要這樣一個複雜的解決方案。 –

2

我把i18n的目標放在生成資源階段,它運行良好。它將在gwt編譯之前執行。

<plugins> 
     <!-- GWT Maven Plugin--> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>gwt-maven-plugin</artifactId> 
      <version>2.5.0-rc1</version> 
      <dependencies> 
       <dependency> 
        <groupId>com.google.gwt</groupId> 
        <artifactId>gwt-user</artifactId> 
        <version>${gwtVersion}</version> 
       </dependency> 
       <dependency> 
        <groupId>com.google.gwt</groupId> 
        <artifactId>gwt-dev</artifactId> 
        <version>${gwtVersion}</version> 
       </dependency> 
       <dependency> 
        <groupId>com.google.gwt</groupId> 
        <artifactId>gwt-servlet</artifactId> 
        <version>${gwtVersion}</version> 
       </dependency> 
      </dependencies> 

      <executions> 
       **<execution> 
        <id>generate-i18n</id> 
        <phase>generate-resources</phase> 
        <goals> 
         <goal>i18n</goal> 
        </goals> 
       </execution>** 
       <execution> 
        <phase>prepare-package</phase> 
        <goals> 
         <goal>resources</goal> 
         <goal>compile</goal> 
         <goal>test</goal> 
         <goal>generateAsync</goal> 
        </goals> 
       </execution> 

      </executions> 

      <configuration> 
        <!-- your config --> 
      </configuration> 
     </plugin> 
0

這是可行的,因爲您生成的輸出是在正常源文件夾中生成的。 但問題是如何添加額外的源文件夾。