2012-02-01 24 views
2

所以我試圖將現有的maven項目轉換爲SmartGWT。我有GWT的工作,但SmartGWT與Chrome的工作有一些問題,GWT不支持firefox 8+(我有9)。所以我對GWT不太好,但我的理解是,如果我能部署一個編譯版本,我應該可以讓SmartGWT工作。我嘗試使用mvn包,但不包括JAR中的GWT文件。如何在mvn中包含GWT生成的文件:package

如何使用Maven打包一個帶有GWT文件的Jar,以便它可以在tomcat上運行?

更新:

mvn clean compile gwt:compile package工作對我來說

+0

你可以回答這個問題,然後接受它自己命名exportModule。 – 2012-02-01 21:23:05

回答

2

,而不是總在進入全力打造命令mvn clean compile gwt:compile package,你,你也可以綁定gwt:compile目標的prepare-package階段,這樣它會之前剛剛運行包裝階段(以及測試目標完成之後等),因此您可以運行mvn package(或mvn clean package,這將更接近您的上述要求)。向gwt-maven-plugin定義添加一個執行,像這樣

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>gwt-maven-plugin</artifactId> 
    <version>2.4.0</version> 
    <executions> 
     <execution> 
     <phase>prepare-package</phase> 
     <goals> 
      <goal>compile</goal> 
     </goals> 
     </execution> 
    </executions> 
    </plugin> 
0

你可以做兩件事來幫忙。一種是將smartGWT安裝到你的本地maven倉庫中,這樣它的源代碼和jar就可以用於構建。

mvn install:install-file -Dfile=path/to/smart-gwt.jar -Dsources=path/to/smart-gwt.jar -Dversion=1.2.3 -DgroupId=group-id-to-use -DartifactId=smart-gwt -DgeneratePom=true -Dpackaging=jar 

只要jar的版本和路徑是正確的,就可以用任何你想要的值替換這些值。現在只需將它與任何其他依賴項一樣包括進去;使用你製作的groupId和artifactId。

接下來,如果您想使用smart-gwt來代替jar,可以生成一個gwt友好的jar包,它包含了捆綁的源代碼。設置一個exportModule如下

<packaging>jar</packaging> 

<!--...--> 

<build> 
<sourceDirectory>src/main/java</sourceDirectory> 
<testSourceDirectory>tests/main/java</testSourceDirectory> 

<resources> 
    <resource> 
    <directory>${basedir}/src/main/java</directory> 
    <includes> 
     <include>**/*.java</include> 
     <include>**/*.json</include> 
     <include>**/*.png</include> 
     <include>**/*.gwt.xml</include> 
    </includes> 
    </resource> 
    <resource> 
    <directory>${basedir}/super/main/java</directory> 
    <includes> 
     <include>**/*.java</include> 
     <include>**/*.json</include> 
     <include>**/*.png</include> 
     <include>**/*.gwt.xml</include> 
    </includes> 
    </resource> 
</resources> 

<plugins> 
    <plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-source-plugin</artifactId> 
    </plugin> 

    <plugin> 
    <artifactId>maven-clean-plugin</artifactId> 
    <configuration> 
     <filesets> 
     <fileset><directory>war</directory></fileset> 
     <fileset><directory>gwt-unitCache/</directory></fileset> 
     </filesets> 
    </configuration> 
    </plugin> 
</plugins> 
</build> 

你可以用上面的模塊安裝自己的GWT的jar,假設使用命令

mvn -f exportModule/pom.xml clean install 
相關問題