2016-06-24 13 views
1

を拾っている私は、SBTのテストを使用してSBTテストが間違ったリソースフォルダのパス

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

を行い、テストを持って、パスが誤って /Users/Me/IdeaProjects/myProject/target/scala-2.11として識別されます/myProject_2.11-0.1.0-SNAPSHOT-tests.jar!/test.jpg

しかしのIntelliJで、パスが正しい /Users/Me/IdeaProjects/myProject/target/scala-2.11/test-classesあります/test.jpg

正しいリソースパスを取得するにはどうすればよいですか?

答えて

1

ほとんどの理由は、あなたのSBTビルドでexportJars := trueを持っているということです。

デフォルトでは、プロジェクトがそのリソースとコンパイル済みのクラスファイルを含むディレクトリをエクスポートします。代わりにパッケージ化されたjarをエクスポートするには、exportJarsをtrueに設定します。例えば、

exportJars := true 

ジャーは、実行、試験、コンソール、フルクラスパス

http://www.scala-sbt.org/0.13/docs/Howto-Package.html)を使用する他のタスクによって使用されるであろう。テスト専用に変更する場合は、exportJars in Test := falseを使用してください。

関連する問題