オリジナルの投稿:
Jetty 8.1サーブレットコンテナ上で実行されているJava 6 Webアプリケーションのデプロイメント記述子を、web.xml
にフィルタリングしたいが、これまで動作していない。私は、アクティブなmavenのプロファイルに応じて、異なるJSFプロジェクトの段階を設定したい:jetty-maven-pluginを使用している場合、web.xmlをフィルタリングしていますか?
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>${jsfProjectStage}</param-value>
</context-param>
pom.xml
内のプロファイルのセクションには、以下のようになります。あなたがいることを達成するために、いくつかの方法を見つけるインターネット上
<profiles>
<profile>
<id>development</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<jsfProjectStage>Development</jsfProjectStage>
</properties>
</profile>
<profile>
<id>production</id>
<properties>
<jsfProjectStage>Production</jsfProjectStage>
</properties>
</profile>
</profiles>
、例えば代わりのweb.xmlファイルを使用します。あなたは、このコードスニペット、私はそれが私のために働いていない理由だろうと多くの回答や記事を見つけるので
<build>
<finalName>...</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<webResources>
<webResource>
<directory>src/main/webapp/WEB-INF</directory>
<filtering>true</filtering>
<targetPath>WEB-INF</targetPath>
<includes>
<include>web.xml</include>
</includes>
</webResource>
</webResources>
</configuration>
</plugin>
...
</plugins>
</build>
:しかし、私には最も明白な方法は、Mavenの戦争 - プラグインを使用しているようです。私は<webResource>
を<resource>
と置き換えようとしました(しばしばこの方法で見つけました)。また、<filteringDeploymentDescriptors>true</filteringDeploymentDescriptors>
を追加しようとしましたが、それは何もしません。
誰かがアイデアを持っていますが、web.xmlを正しくフィルタリングするためにここには何が欠けていますか?または、明示的に<filters>
を指定する必要がありますか?
おかげ
セバスチャン
アップデート:私はフィルタリングされませんweb.xml
理由は、Mavenの戦争 - プラグインが、桟橋 - のmaven-pluginのではないことを今知っているuser944849に
おかげで、私はmvn jetty:run
を使って(組み立てられていない)webappを実行しているからです。組み立てられていないwebappを実行する前に、jetty-maven-pluginsにweb.xml
をフィルタリングする方法を誰かが知っていますか?
は何ですか?特に、どのようにプロファイルを有効にしていますか? ''は、他のプロファイルがアクティブでない場合にのみアクティブであることを意味します。 –
user944849
Eclipse内からMavenを使用し、開発ビルドの_Run Configuration_の_Goals_は明示的な_Profiles_セットなしで 'clean jetty:run'に設定されています。プロダクションビルドのゴールは_Profiles_を 'production'に設定して' clean install'に設定します。 –
プロダクションはweb.xmlをフィルタリングしますか? 'jetty:run'は_unassembled_ webappを実行するので、' jetty:run'は動作しません。フィルタリングはwarプラグインがパッケージ段階の一部として実行されるときに起こります。 'jetty:run'はIIRCを使用しません。 jettyにフィルタリングをさせる方法を理解するために、多少の調査をする必要があるでしょう。または、完全に組み立てられたwebappに対してjettyを使用する必要があるかもしれません。 – user944849