0

Eclipse Juno と Maven-WTP プラグインを使用して Web アプリケーションを開発しています。このアプリケーションにはヘッダー イメージがあり、2 つの Maven プロファイルもあります。これらのプロファイルは、画像が配置されている別のディレクトリを指しているため、ヘッダー画像を変更できます。それがどのように構成されているかです:

<profile>
    <id>local</id>
    <properties>
        <imagen.cabecera.dir>src/main/resources/styles/headers/example1</imagen.cabecera.dir>
    </properties>
</profile>

<profile>
    <id>local2</id>
    <properties>
        <imagen.cabecera.dir>src/main/resources/styles/headers/example2</imagen.cabecera.dir>
    </properties>
</profile>

アイデアは、.m2/settings.xmlのアクティブなプロファイルを変更して、ヘッダー ファイルも変更することです。アクティブなプロファイルは次のように構成されます。

<activeProfiles>
    <!--make the profile active all the time -->
    <activeProfile>nexus</activeProfile>
    <activeProfile>local</activeProfile>
</activeProfiles>

アクティブなプロファイルを変更してmvn clean installすべてを実行すると、プロジェクトのターゲット ディレクトリで魅力的に機能します。ただし、Maven-WTP プラグインには問題があります。このプラグインはwebapp/imagesディレクトリからファイルを取得しており、アクティブなプロファイルを変更しても新しいプロファイルが取得されないように見えます。ここで WTP プラグインがファイルを更新していないようですclean install。これは私のpom.xml構成です:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <executions>
        <execution>
            <id>copy-resources</id>
            <phase>process-resources</phase>
            <goals>
                <goal>copy-resources</goal>
            </goals>
            <configuration>
                <outputDirectory>${project.build.directory}</outputDirectory>
                <resources>
                    <resource>
                        <directory>${imagen.cabecera.dir}</directory>
                        <includes>
                            <include>cabecera.jpg</include>
                        </includes>
                        <targetPath>${project.build.directory}/header</targetPath>
                    </resource>
                </resources>
            </configuration>
        </execution>
    </executions>
</plugin>

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <executions>
        <execution>
            <id>default-war</id>
            <configuration>
                <webResources>
                    <resource>
                        <directory>${project.build.directory}/header</directory>
                        <includes>
                            <include>cabecera.jpg</include>
                        </includes>
                        <targetPath>/images</targetPath>
                    </resource>
                </webResources>
            </configuration>
        </execution>
    </executions>
</plugin>

誰かそれについて知っていますか?

4

2 に答える 2

0

Maven Eclipse WTPプラグインは、 webappディレクトリからデプロイするデータを取得しています。手がかりは、mvn clean installMavenがターゲットディレクトリのみをクリーンアップするため、実行時にこのディレクトリがクリーンアップされていないことです。秘訣は、Mavenに更新するリソースもクリーンアップするように強制することです。

<plugin>
    <artifactId>maven-clean-plugin</artifactId>
    <version>2.5</version>
    <configuration>
        <filesets>
            <fileset>
                <directory>src/main/webapp/images</directory>
                <includes>
                    <include>cabecera.jpg</include>
                </includes>
            </fileset>
        </filesets>
    </configuration>
</plugin>
于 2013-01-14T12:34:13.457 に答える
0

おそらく、次の方法でMavenプロジェクト構成を更新する必要があります。

プロジェクトを右クリック-> Maven->プロジェクトの更新

ここに画像の説明を入力してください

于 2013-01-14T12:11:34.663 に答える