1

私は、Jetty を Maven フィルタリングで実行するのに苦労しています。jetty:run は maven ソース ディレクトリを使用するため、フィルター処理されたファイルは表示されません。jetty:run-exploded は問題なく動作しますが、ウェブページをリアルタイムで更新できません。

確かに、Maven フィルタリングを使用して、Web ページを変更するたびに jetty タスクを再実行しない方法があるに違いありません。

(EclipseでWebページをターゲットディレクトリに自動的にコピーする方法はありますか?デフォルトでこれを行うと思っていましたが、機能していないようです。トリガーとantタスクでEclipseビルダーを使用していましたが、これは少し古い感じです。)

4

1 に答える 1

1

私はほとんど同じ問題を抱えていました。jetty プラグインのパスを変更する問題を解決しました。私がやったことは単純です

  • 別のプロファイルで構成を抽象化します。(この例では突堤)
  • フィルタリング用に別のリソース ディレクタを追加する
  • 設定する jetty プラグインのパスを変更する

    <profile>
     <id>jetty</id>
     <build>
        <resources>
           <resource>
              <directory>../../conf/jetty</directory>
              <filtering>true</filtering>
           </resource>
        </resources>
        <plugins>
           <plugin>
              <groupId>org.mortbay.jetty</groupId>
              <artifactId>jetty-maven-plugin</artifactId>
              <version>${jetty-version}</version>
              ..
              <configuration>
                 <jettyConfig>${project.build.outputDirectory}/jetty.xml</jettyConfig>
                 <webAppConfig>
                    <contextPath>/${jettyContextName}</contextPath>
                    ..
                    <jettyEnvXml>${project.build.outputDirectory}/jetty-env-${jetty-env}.xml</jettyEnvXml>
                 </webAppConfig>
                 <stopKey/>
                 <stopPort/>
              </configuration>
           </plugin>
        </plugins>
     </build>
    </profile>
    

構成を共有していただければ、さらに変更を加えることができます。しかし、基本的にやりたいことは、ファイルをinplaceに変更するため、簡単な作業ではなく危険です。

別の提案もあるかもしれません。この方法はお勧めしませんが、このように jetty:run の前に war:inplace を実行することもできます。

    mvn war:inplace jetty:run

ただし、この解決策を試したことはありません。この方法を避けることをお勧めします。

于 2011-10-03T10:10:13.540 に答える