在生产与开发中使用特定的xml文件

时间:2014-01-28 11:31:50

标签: java spring maven

我们有一个基于maven的Spring Web-Application。所有网络电话都是Restful,需要进行身份验证。但是出于发展目的,做所有需要是痛苦的。因此,对于开发周期,优选不具有任何安全性。

使用maven标志或其他东西,我们如何为生产和开发生成单独的构建?

所有与安全相关的内容都在web.xmlapplicationContext.xml中。我们可以有2份(一份用于开发,另一份用于生产)。在maven构建中,包含必要文件和省略其他文件的最简单方法是什么。

PS:我已经看过使用程序集插件执行上述操作的示例。我不需要所有这些,只是一个简单的方法来做到这一点。我正在使用maven-war-plugin生成war文件。

1 个答案:

答案 0 :(得分:3)

使用个人资料。您可以在pom.xml中定义它们(见下文),然后在构建时包含它们。对于命令行,这只是

mvn -P <profile> <target>

大多数IDE提供了一种设置配置文件的方法。

的pom.xml:

<properties>
    <!-- default -->
    <webXmlPath>src\main\webapp\WEB-INF\web-test.xml</webXmlPath>
</properties>

<profiles>
    <profile>
        <id>Production</id>
        <properties>
            <webXmlPath>src\main\webapp\WEB-INF\web.xml</webXmlPath>
        </properties>
        <build>
            <finalName>${artifactId}</finalName>
        </build>
    </profile>
    <profile>
    <id>Accept</id>
        <properties>
            <webXmlPath>src\main\webapp\WEB-INF\web-accept.xml</webXmlPath>
        </properties>
        <build>
            <finalName>${artifactId}-accept</finalName>
        </build>
    </profile>
</profiles>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.3</version>
            <configuration>
                <webXml>${webXmlPath}</webXml>
            </configuration>
        </plugin>
    </plugins>
</build>