2011-09-10 117 views
11

如何配置build.sbt以排除src/main/java目錄?我想將我的Java源代碼放在那裏,但我不想編譯它們。另外,我可以排除用RE指定的文件或文件組。這些可以在build.sbt中輕鬆配置嗎?sbt排除源目錄

+1

我很好奇,你爲什麼不想Java文件被編譯? –

+0

我用Java編寫了應用程序,並在Scala中重寫了應用程序。我仍然希望Java源代碼可以作爲參考,但不能編譯以節省編譯時間和依賴性。沒什麼大不了的,我可以用編譯的Java源代碼來生活。另外,我想學習調整SBT作爲練習的一部分 – thlim

+0

如果您使用的是像Subversion或git這樣的源代碼系統,您可以放心地刪除它。如果您必須查看Java代碼,那麼它只是一些遠離還原的命令(或者如果您在scm上安裝了Web界面,只需點擊幾下)。 –

回答

8

javaSourcescalaSource是輸入unmanagedSourceDirectories。然後您可以設置unmanagedSourceDirectories是唯一scalaSource

unmanagedSourceDirectories in Compile <<= 
    scalaSource in Compile apply ((s: File) => s :: Nil) 

或短一點:

unmanagedSourceDirectories in Compile <<= (scalaSource in Compile)(_ :: Nil) 

詳見Classpaths, sources, and resources。此外,inspect命令對於確定如何從其他設置構建設置很有用。

2

嗯,有可能是一個更好的方式,但我想補充這我build.sbt:

javaSource in Compile := file("some/path/that/doesnt/exist")

+1

謝謝。我相信有更好的辦法:) – thlim