2016-06-24 5 views
1

Ich habe einen Test Kommissionierung bis diesbt Test ist falsch Ressource Ordnerpfad

val url = getClass.getResource("/test.jpg") 
val path = url.getPath 

Mit sbt Test der Fall ist, wird der Pfad falsch identifiziert als /Users/Me/IdeaProjects/myProject/target/scala-2.11 /myProject_2.11-0.1.0-SNAPSHOT-tests.jar!/test.jpg

jedoch in IntelliJ, ist der Pfad korrekt /Users/Me/IdeaProjects/myProject/target/scala-2.11/test-classes /test.jpg

Wie kann ich sbt erhalten, den korrekten Betriebsmittelweg aufzuheben?

Antwort

1

wahrscheinlichste Grund ist, dass Sie exportJars := true in Ihrem SBT Build:

standardmäßig ein Projekt exportiert ein Verzeichnis seiner Ressourcen und kompilierten Klassendateien enthält. Setzen Sie exportJars auf "true", um stattdessen das gepackte JAR zu exportieren. Zum Beispiel

exportJars := true 

Das Gefäß wird durch laufen, testen, Konsole und andere Aufgaben, die die volle Classpath

(http://www.scala-sbt.org/0.13/docs/Howto-Package.html) verwenden verwendet werden. Wenn Sie es speziell für Tests ändern möchten, verwenden Sie exportJars in Test := false.

Verwandte Themen