2012-07-24 60 views
2

我正在製作一個使用SLF4J的基本程序。使用SLF4J的要點是使用java classpath手動指定您正在使用的日誌記錄後端的.jar文件(以及該記錄器的屬性文件)。這意味着與slf4j(基礎slf4j之外)相關的.jar沒有在SBT項目中指定爲依賴關係。爲build.sbt/build.scala設置ClassPath for SBT

的問題是,當你在SBT運行命令,它設置classpath以/usr/local/Cellar/sbt/0.11.3-2/libexec/sbt-launch.jar(我SBT通過自制軟件安裝在Mac)

我的問題是,有沒有一種方法來設置路徑目錄當我使用sbt命令運行時,對於SBT(當在scala應用程序上運行時)到特定目錄而沒有修改實際的SBT項目(可能有類似屬性文件的東西?)。目前,爲了伐木來測試我的申請,我使用ProGuard插件SBT做出min.jar和手動運行如下命令(這是令人難以置信的繁瑣)

java -Djava.ext.dirs=<some_path> -Dlog4j.configuration=<some_path> -jar scheduler_2.9.1-1.0.min.jar 

沒有一個問題這和它的應用程序是如何用於生產的。但是,我不想測試我的應用程序(以查看日誌是否工作),當我使用sbt run命令時,我不知道如何配置SBT來在不改變build.sbt/Build.scala文件的情況下執行此操作在生產中使用它時會引起問題)

請注意,如果我可以指定類路徑,則不需要-Dlog4j.configuration。我已經嘗試將-DJava.ext.dirs=<some_path>放在啓動sbt的命令上,但毫不奇怪,它對運行命令沒有影響。

回答

0

我不知道這是否適合您,但您可以在工作目錄中添加user.sbt並添加fullClasspath in Runtime設置。