0

我正在尝试使用Maven 配置文件过滤来生成给定 Web 存档(war)的两个不同版本:

  1. 第一个用于本地部署到我在 localhost 上的本地机器
  2. 第二个用于远程部署到 cloudfoundry

根据应用程序是部署到我的本地计算机还是部署到 cloudfoundry,有许多属性会有所不同。

当然,困难的一点是我试图从 STS/Eclipse 完成所有这些工作,并从 Eclipse 部署到我的本地 tomcat 和 cloudfoundry ......

任何人都可以提供建议,提示或建议吗?

4

2 回答 2

5

如果您使用 Spring 版本控制 3.1+ <beans>,那么 spring bean 配置 xml 中的“profile”属性将是最佳选择。看看这里的文档:http: //docs.cloudfoundry.com/frameworks/java/spring/spring.html#using-spring-profiles-to-conditionalize-cloud-foundry-configuration

基本上你需要指定至少 2 个元素。一个用于本地属性 ( profile="default"),另一个用于部署到 CF 时的属性。后者应定义为<beans profile="cloud">。在本地运行时,“云”中的属性将被忽略,“默认”中的属性将生效。推送到 CF 时,CF 会检测名为“cloud”的配置文件,更好的是注入 CF 自己提供的服务的相应数据源连接信息。您也可以在该文档中找到详细的 CF 指定属性。

有关配置文件属性的更多信息,请参阅此处的文档:http: //blog.springsource.com/2011/02/11/spring-framework-3-1-m1-released/

于 2012-12-17T07:38:04.497 回答
1

考虑为每个工件生成一个项目。因此,一个项目生成您的本地部署,一个项目生成您的 cloudfoundry 部署。

Overlays (http://maven.apache.org/plugins/maven-war-plugin/overlays.html) 是官方认可的在现有 WAR 文件中烘焙额外文件的方式,提供新的 WAR 工件。非常有用,但在开发过程中可能太慢而无法舒适。

于 2012-12-16T15:41:28.297 回答