在 Scala Play2 应用程序中,我想为不同的环境定义单独的设置。我的方法是使用不同的 .conf 文件并以 -Dconfig.file=... 开头。
打电话时一切正常
play -Dconfig.file=conf/application.conf
或者
play -Dconfig.file=conf/test.conf
但是打电话的时候
activator -Dconfig.file=conf/application.conf ui
我得到一个
java.lang.ClassNotFoundException: 全球$
假设 -Dconfig.file 对 Activator 的工作方式相同,我错了吗?使用 Activator 获得我想要的东西的正确方法是什么?
应用程序.conf:
...
application.global=Global
...
测试.conf:
...
application.global=GlobalForTest
...
全局.scala:
object Global extends GlobalSettings {
override def onStart(app: Application) {
Logger.info("Application has started")
AppContext.databaseDetails = "default database details"
}
}
GlobalForTest.scala:
object GlobalForTest extends GlobalSettings {
override def onStart(app: Application) {
Logger.info("Application has started in test mode")
AppContext.databaseDetails = "test database details"
}
}