我们有一个基于maven的Spring Web-Application。所有网络电话都是Restful
,需要进行身份验证。但是出于发展目的,做所有需要是痛苦的。因此,对于开发周期,优选不具有任何安全性。
使用maven标志或其他东西,我们如何为生产和开发生成单独的构建?
所有与安全相关的内容都在web.xml
和applicationContext.xml
中。我们可以有2份(一份用于开发,另一份用于生产)。在maven构建中,包含必要文件和省略其他文件的最简单方法是什么。
PS:我已经看过使用程序集插件执行上述操作的示例。我不需要所有这些,只是一个简单的方法来做到这一点。我正在使用maven-war-plugin
生成war文件。
答案 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>