2013-01-20 2 views
12

先頭への回答がPlay Framework 2: Read the application version defined in Build.scalaの場合、conf/application.confにアプリケーションのバージョン番号を指定し、Build.scalaからplay.api.Configurationにロードすることをお勧めします。私はPlay 2.1-RC2を使用して構築する際、次のエラーメッセージが出てい:Play Framework 2.1:Build.scalaでplay.api.Configurationを使用する

[error] [...]/project/Build.scala:7: object Configuration is not a member of package play.api 
[error] val conf = play.api.Configuration.load(new File(".")) 

が、私はこれをプレイして2.1ビルド依存関係がSBTへのプラグインとして指定されなければならないという事実によって引き起こされるかもしれないと思う、とplay.api.Configurationが一部ではありませんPlayのSBTプラグインの私はproject/plugins.sbtにPlayのコアライブラリを含める必要があると推測していますが、どのように把握できていません。何か案は?

(注意:私は十分に担当者のポイントを持っていた場合は、この元の質問にコメントいただろう)

答えて

24

あなたが直接、タイプセーフのconfigライブラリを使用している場合、私はプレイのConfigurationラッパーなしで、2.1-RC2で動作します。これはJava APIなので、this answerに記載されているものとは若干異なります。 project/Build.scala

は、ライブラリをインポート:

import com.typesafe.config._ 

し、手動でファイルから設定をロードします。置換を解決するには、resolve()を呼び出す必要があります。

val conf = ConfigFactory.parseFile(new File("conf/application.conf")).resolve() 

val appName = conf.getString("app.name") 
val appVersion = conf.getString("app.version") 
+0

ありがとうございます。遅い応答のお詫び。 – user1995521

+2

注意してください! play-2.1.xの 'appName'にドットとスペースを使用しないでください。あるいは、 'java.lang.ExceptionInInitializerError'のあいさつをしてください。 – HEX

+0

@kapep:この質問を見て、最終的に何かを提案しますか? http://stackoverflow.com/q/21133830/1066240 – biesior

関連する問題