9

プロファイルに基づいて、jsps でリソース フィルタリングを使用しています。を使用してローカルで開発も行ってmvn jetty:runいますが、フィルタリング フェーズが実行されません。

jetty プラグインを使用してフィルタリングを実行するにはどうすればよいですか?


構成スニペット:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.0.2</version>
<configuration>
    <webResources>
        <resource>
            <directory>src/main/webapp</directory>
            <includes>
                <include>error.jsp</include>
            </includes>
            <filtering>true</filtering>
            <targetPath>/</targetPath>
        </resource>
    </webResources>
</configuration>
</plugin>

<profile>
    <id>jci</id>
    <activation>
        <activeByDefault>true</activeByDefault>
        <property>
            <name>jci</name>
        </property>
    </activation>
    <properties>
        <error.title>Some value here</error.title>
    </properties>
</profile>  
4

3 に答える 3

6

jetty:runではなくjetty:run-explodedゴールを使用することをお勧めします。ドキュメントから:

この目標は、最初にWebアプリを分解されたwarファイルにアセンブルし、次にそれをJettyにデプロイします。

これにより、サーバーが起動する前に適切な戦争ライフサイクルフェーズが確実に実行されるようになります。

また、jciプロファイルがアクティブ化されていることを確認しますか?ビルドに別のプロファイルが指定されている場合、<activeByDefault>プロパティはプロファイルを有効にしません。詳細については、このバグを参照してください。

ジョン・ケーシーの回答から:

上記の例は設計どおりに機能しています。<activeByDefault />要素は、ビルドでアクティブな他のプロファイルがない場合にこのプロファイルがアクティブ化されることを指定するためのものです。したがって、プロファイルを特定のアクティブ化すると、このプロファイルが非アクティブ化されます。

于 2009-07-27T00:23:28.140 に答える
1

フィルタリングされたファイルは通常、ビルド ターゲット ディレクトリに配置されます。「mvn jetty:run」を実行すると、デフォルトでフィルタリングされていない src/main/webapp ディレクトリが使用されます。ビルド ターゲットを追加のリソース ディレクトリとして追加するだけです。これにより、jetty はオーバーレイを作成し、フィルタリングされたファイルも使用します。

                <plugin>
                    <groupId>org.mortbay.jetty</groupId>
                    <artifactId>maven-jetty-plugin</artifactId>
                    <version>6.1.26</version>
                    <configuration>
                        <webAppConfig>
                            <contextPath>/${project.build.finalName}</contextPath>
                            <baseResource implementation="org.mortbay.resource.ResourceCollection">
                                <resourcesAsCSV>src/main/webapp,${project.build.directory}/${project.build.finalName}</resourcesAsCSV>
                            </baseResource>
                        </webAppConfig>
                        <scanIntervalSeconds>2</scanIntervalSeconds>
                    </configuration>
                </plugin>
于 2013-12-17T09:29:00.517 に答える