如何在maven:package中包含GET生成的文件

时间:2012-02-01 21:07:38

标签: java gwt tomcat smartgwt

所以我试图将现有的maven项目转换为SmartGWT。我有GWT工作,但SmartGWT在使用Chrome时遇到了一些问题,GWT与firefox 8+不兼容(我有9个)。所以我对GWT不是很了解,但我的理解是,如果我可以部署编译的verison,我应该能够使SmartGWT工作。我尝试使用mvn包,但是它没有在JAR中包含GWT文件。

如何使用Maven将Jar与GWT文件打包在一起,以便可以在tomcat上运行?

更新

mvn clean compile gwt:compile package为我工作

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分: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,假设使用命令命名为exportModule

 mvn -f exportModule/pom.xml clean install