2016-04-05 57 views
0

私は単純なMavenプロジェクトをSBTプロジェクトに置き換えようとしています。しかし、私は に直面することはほとんどありません。 Mavenので、私はこのプロファイルが異なるために変更することができますmavenからsbtへの切り替え

<profile> 
       <id>name</id> 
       <properties> 
        <tomcatHome>/apache-tomcat-7.0.42</tomcatHome> 
        <config.folder>/conf/</config.folder> 
        <data.folder>/conf/data</data.folder> 
       </properties> 
      </profile> 

ようなプロジェクトのために複数のプロファイルを持ってはMavenのビルドで

mvn package -P name 

または起動組み込みMavenのビルドとサーバー用のIntelliJアイデアで使用することができます

プロパティもspring config(プレースホルダを使用)で使用できます。

<context:property-placeholder location="file:${config.folder} /> 

同様の設定をsbtに書き込むにはどうすればよいですか? ドキュメントに似たものが見つかりませんでした ありがとう

+1

[モジュールバージョンをSBTのコマンドライン引数として送信](http://stackoverflow.com/a/36331828/651140)を参照してください。 –

答えて

1

スカラ構文を使用することができます。

単純な例です。

val akkaVersion = util.Properties.propOrNone("akka.version").getOrElse("2.4.3") 

libraryDependencies += "com.typesafe.akka" %% "akka-actor" % akkaVersion 

sbtに電話すると、バージョンは「2.4.3」に設定されます。しかし、あなたが電話するとき:

sbt -Dakka.version=2.3.13あなたはバージョン2.3.13が使用されます。

次の例はxsbt-web-pluginです。 JettyPluginまたはTomcatPluginを選択できます。

val containerPlugin = util.Properties.propOrNone("use.tomcat"). 
        map(_ => TomcatPlugin).getOrElse(JettyPlugin) 

enablePlugins(containerPlugin) 

あなたが呼び出すとき: sbt -Duse.tomcat TomcatPluginが使用されます。そうでなければJettyPlugin。

+0

主な質問は:** ** sbt **ファイル(** ** pom **ファイルの '/conf/data ' Alexandr