我正在尝试使用 maven个人资料和过滤,以便生成给定网络存档的两个不同版本(战争):
根据应用程序是部署到本地计算机还是cloudfoundry,有许多属性会有所不同。
当然,困难的是我正在尝试从STS / Eclipse 完成所有这些工作,并从Eclipse部署到我的本地tomcat和cloudfoundry ......
有人可以提供建议,提示或建议吗?
答案 0 :(得分:5)
如果您使用Spring版本3.1+,那么spring bean配置xml中<beans>
的“profile”属性将是最佳选择。在这里查看文档:{{3}}
基本上你需要指定至少2个元素。一个用于本地属性(profile="default"
),另一个用于部署到CF时的属性。后者应定义为<beans profile="cloud">
。在本地运行时,“cloud”中的属性将被忽略,“default”中的属性将生效。当推送到CF时,CF将检测名为“cloud”的配置文件,并且更好地注入由CF本身提供的服务的相应数据源连接信息。您也可以在该文档中找到CF指定的详细属性。
有关个人资料属性的详细信息,请参阅此处的文档:http://docs.cloudfoundry.com/frameworks/java/spring/spring.html#using-spring-profiles-to-conditionalize-cloud-foundry-configuration
答案 1 :(得分:1)
考虑生成每个工件的单个项目。因此,一个项目生成您的本地部署,一个项目生成您的cloudfoundry部署。
Overlays(http://maven.apache.org/plugins/maven-war-plugin/overlays.html)是在现有WAR文件中烘焙额外文件的官方认可方式,它提供了一个新的WAR工件。非常有用,但在开发过程中可能太慢而不舒服。