3

根据配置文件之间不同的值,我需要从 Maven 项目中生成不同的 WAR。

对于某些文件,我有可能被配置覆盖的默认值。例如,我可能有一个带有默认图像的图像文件夹,“prof1”配置文件可能会覆盖其中的一些,而“prof2”配置文件可能只使用默认图像。

我在使用Maven War Plugin实现这一点时遇到了麻烦。我在下面显示的配置中列出了不同的网络资源,但这些值没有被覆盖 - 相反,始终显示默认图像。我将 Web 应用程序文件放入/Webcontent/目录中可能是相关的,而不是/src/main/webapp; 如果需要,我可以切换回来。

这是我的 Maven 战争插件配置:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.1.1</version>
    <configuration>
        <overwrite>true</overwrite>
        <webResources>  
            <resource>
                <directory>${basedir}/WebContent</directory>
                <excludes>
                    <exclude>**/resources/*</exclude>
                </excludes>
            </resource> 
            <resource>
                <directory>${basedir}/WebContent/resources</directory>
                <targetPath>WEB-INF/classes</targetPath>
                <filtering>true</filtering>
            </resource>
            <resource >
                <directory>${basedir}/version/${profile.name}</directory>
            </resource>
        </webResources>
        <archiveClasses>false</archiveClasses>
        <archive>
            <manifest>
                <addClasspath>true</addClasspath>
                <classpathPrefix />
            </manifest>
        </archive>
    </configuration>
</plugin>
4

1 回答 1

0

我遇到了同样的问题,显然您的应用程序的 WebContent 部分中的资源不是由这种过滤处理的,我使用了将特定配置文件的资源复制到临时构建文件夹的方法,然后将其与战争结合起来,它在这里概述:

http://edeustace.wordpress.com/2010/07/08/processing-resources-with-the-maven-war-plugin/

效果很好-

于 2011-12-21T18:15:51.877 回答