2

gh-pagesMaven を使用して、Maven で生成されたサイトをgit リポジトリのブランチに自動的にデプロイするいくつかのプロジェクトのセットアップに成功しました。次に、GitHub はこれらのファイルを個人用サブドメインのパブリック URL で提供します。この機能を利用して、リッチなクライアント側のみの GWT アプリケーションを提供したいと考えています。

GWT アプリケーションをディレクトリpom.xmlにコンパイルするように変更しました。target/site/私がまだ達成しようとしている2つの主な目標は次のとおりです。

  • siteフェーズ中に標準の Maven サイト プラグインが実行されないようにするにはどうすればよいですか?
  • フェーズgwt:compile中に実行するために必要なものは何ですか?site
4

1 に答える 1

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サイトが実行されないようにすることは、さまざまな目標がバインドされたフェーズであるため、より興味深いものです. 標準の site:site ゴールは、ゴールのない実行を明示的に指定することで、サイト フェーズで実行されないようにすることができます。これは 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>
于 2011-09-18T19:08:18.733 に答える