用GWT Compile插件替换Maven站点插件

时间:2011-04-07 01:14:58

标签: gwt maven-2 maven maven-plugin maven-site-plugin

我已经成功设置了一些项目,这些项目使用Maven自动将Maven生成的站点部署到他们的git存储库的gh-pages分支。然后,GitHub在个人子域的公共URL上提供这些文件。我希望利用此功能来为富客户端的GWT应用程序提供服务。

我修改了pom.xml以将GWT应用程序编译到target/site/目录。我仍在努力实现的两个主要目标是:

  • 如何阻止标准Maven网站插件在site阶段运行?
  • gwt:compile阶段site执行{{1}}需要什么?

1 个答案:

答案 0 :(得分:0)

通过为插件指定新的执行,可以将目标绑定到阶段。我假设你有一些自定义的东西,你需要正确地完成大部分工作,所以我只是专注于将插件目标绑定到特定阶段的工作。

<plugin>
  <artifactId>gwt-maven-plugin</artifactId>
  ...
  <executions>
    <execution>
      <id>gwt-site</id>
      <phase>site</phase><!-- phase to bind to -->
      <goals>
        <goal>compile</goal><!-- goal to run in that phase -->
      </goals>
      <configuration>
        <!-- Your magic configuration stuff goes here -->
      </configuration>
    </execution>
    <!-- Possible other executions might be defined here -->
  </executions>
</plugin>

防止默认maven站点运行更有趣,因为它是一个阶段,有各种各样的目标。标准站点:站点目标可以通过显式指定没有目标的执行来阻止在站点阶段运行。这可能与maven 2到3略有不同,所以我在这里会变得有点普遍。查看您的构建日志,看看当前在执行ID,组/工件ID方面指定的内容,以纠正我的示例中的可能疏忽:

<plugin>
  <artifactId>maven-site-plugin</artifactId>
  ...
  <executions>
    <execution>
      <phase>site</phase>
      <goals></goals><!-- This is empty to indicate that no goals should be run in this phase -->
    </execution>
  </executions>
</plugin>