0

I am trying to use maven profiles and filtering in order to produce two different versions of a given web archive (war):

  1. A first one for local deployment to my local machine on localhost
  2. A second one for remote deployment to cloudfoundry

There are a number of properties that differ according to whether the app is deployed to my local machine or to cloudfoundry.

Of course the difficult bit is that I am trying to do all this from STS/Eclipse and deploy from Eclipse to my local tomcat and to cloudfoundry...

Can anyone please provide advice, tips or suggestions?

4

2 に答える 2

5

Spring バージョン 3.1+ を使用している場合は、Spring <beans>Bean 構成 xml の「プロファイル」属性が最適です。こちらのドキュメントをご覧ください: http://docs.cloudfoundry.com/frameworks/java/spring/spring.html#using-spring-profiles-to-conditionalize-cloud-foundry-configuration

基本的に、少なくとも 2 つの要素を指定する必要があります。1 つはローカル プロパティ ( profile="default") 用で、もう 1 つは CF にデプロイされたときのプロパティ用です。後者は として定義する必要があります<beans profile="cloud">。ローカルで実行すると、「クラウド」内のプロパティは無視され、「デフォルト」内のプロパティが有効になります。CF にプッシュされると、CF は「クラウド」という名前のプロファイルを検出し、CF 自体によってプロビジョニングされたサービスの対応するデータソース接続情報を挿入します。詳細な CF 固有のプロパティもそのドキュメントに記載されています。

profile 属性の詳細については、こちらのドキュメントを参照してください: http://blog.springsource.com/2011/02/11/spring-framework-3-1-m1-released/

于 2012-12-17T07:38:04.497 に答える
1

生成されたアーティファクトごとに 1 つのプロジェクトを持つことを検討してください。したがって、1 つのプロジェクトがローカル展開を生成し、1 つのプロジェクトが Cloudfoundry 展開を生成します。

オーバーレイ (http://maven.apache.org/plugins/maven-war-plugin/overlays.html) は、新しい WAR アーティファクトを提供して、既存の WAR ファイルに余分なファイルを追加する公式に認可された方法です。非常に便利ですが、開発中に快適にするには遅すぎるかもしれません。

于 2012-12-16T15:41:28.297 に答える