【问题标题】:Generating custom WAR archives with Maven profiles使用 Maven 配置文件生成自定义 WAR 档案
【发布时间】:2011-12-06 11:09:11
【问题描述】:

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

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

我在使用 the 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>

【问题讨论】:

    标签: xml maven profiles maven-war-plugin


    【解决方案1】:

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

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

    效果很好-

    【讨论】:

    • 谢谢!我最终做了类似的事情!
    猜你喜欢
    • 2017-11-02
    • 1970-01-01
    • 2019-09-19
    • 2018-10-14
    • 2012-09-20
    • 2013-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多