2

を使用して1つのwarファイルを作成してmvn clean install -Dlifecycle=devいます。だから私は変数を持っていますlifecycle

今、私の要件は、ビルドファイルを作成するときに、パッケージからUAT/PROD1つを除外する必要があるということです。私のjsp(index.jsp)jspは、リソースと並行してwebAppsディレクトリにあります。

1ページのフィルタリングにのみ使用profileするのは良い考えではないと思います。

助けに感謝します。

4

1 に答える 1

3

1つのJSPから始まります。次はカスタマイズされたCSSです。次に、さまざまなDBプロパティ...

プロファイルは行く方法です。1つ作成し、そのアクティブ化を変数の値に設定し、JSPを使用して別のソースフォルダを作成し、それをプロファイルのリソースに追加するだけです。

それで:

  • プロジェクトフォルダにフォルダを作成しsrc/dev/webappます(したがって、と並列になりますsrc/main/webapp
  • pom.xml戦争プラグインを構成するプロファイルをに追加します

 

<profiles>
    <profile>
        <activation>
            <property>
                <name>lifecycle</name>
                <value>dev</value>
            </property>
        </activation>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>2.2</version>
                    <configuration>
                        <webResources>
                            <resource>
                                <directory>src/dev/webapp</directory>
                            </resource>
                        </webResources>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles>

これにより、変数がに設定されているsrc/dev/webapps場合に、マージされたターゲットフォルダーにリソースがコピーされます。lifecycledev

それらが単一のファイルをコピーするためのかなりの数行のXMLであっても、Mavenを使用するときに別の方法で(たとえば、ファイルを削除するプラグインを使用して)行うのは良い考えではないと思います。Mavenビルドをカスタマイズして認識できなくなるようにすることもできますが、全体的な考え方は、他の人がプロセスを簡単に読み取れるように規則を使用することです。

于 2012-08-08T12:25:32.400 に答える