2012-02-01 59 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 
相关问题