2016-09-19 79 views
0

在IntelliJ中,我使用「dist」導出了一個scala/akka項目。 在一個zip文件結束,在scala應用程序中提供外部配置文件

foo\target\universal\foo-1.0.0.zip 

當我解壓文件下,我獲得以下的目錄結構:

D:. 
├───bin 
│  foo 
│  foo.bat 
│ 
└───lib 
     a.jar 
     b.jar 
     com.foo.jar 
     ... 
     x.jar 

在命令行中,我試圖運行foo.bat,但我我想提供外部配置文件。

我想使用例如application.conf.prodlogback.xml.prod,覆蓋在com.foo.jar文件

我使用以下版本的application.conflogback.xml文件(複製的build.sbt部分):

version := "1.0.0" 
scalaVersion := "2.11.8" 

"com.typesafe.akka" %% "akka-actor" % "2.4.9" 
"com.typesafe.akka" %% "akka-slf4j" % "2.4.9" 
"ch.qos.logback" % "logback-classic" % "1.1.6" 
"org.apache.kafka" % "kafka-clients" % "0.10.0.0" 

有沒有辦法做到這一點?

感謝

+0

有一個[文章](http://stackoverflow.com/a/17623936/3380951 )關於使用外部'reference.conf',但我的問題是'application.conf'和'logback.xml' –

回答

1

我想你可以通過參數運行的JVM的應用程序時做到這一點。

  • 對於application.conf可以使用-Dconfig.file=/your/path/application.conf

  • 對於LogBack可以使用-Dlogback.configurationFile="/your/path/logback.xml"

+0

這對我很有用。一些相關的答案:[logback](http://stackoverflow.com/a/19519216/3380951)([官方文檔](http://logback.qos.ch/manual/configuration.html))和[akka config ](http://stackoverflow.com/a/27355750/3380951) –

+0

相關備註:[log4j](http://stackoverflow.com/a/7927278/3380951)與'file:'前綴不同 –

相關問題