私はandroid-sbt-plugin
sbt で を使用しており、管理されていない jar をテスト クラスパスに追加したいと考えています。android.jar には org.json ライブラリのスタブ関数が含まれているため、単体テストで例外がスローされます。これが私がしていることです
unmanagedClasspath in Test <+= (baseDirectory) map { base =>
Attributed.blank(base/"test-libs"/"json.jar")
}
jar の順序のため、sbt 内でテスト コマンドを実行する間、このファイルは無視されます。コマンドを入力すると、最初のjarとしてandroid.jarが明確に表示されます
show test:unmanaged-classpath [info] ArrayBuffer(Attributed(/home/rohit/Projects/android-sdk-linux/platforms/android-17/android.jar), Attributed(/home/rohit/Projects/barfrendz/trunk/) src/buzze/test-libs/json.jar)))
lib フォルダーを作成し、sbt に json jar を取得させると、順序が逆になり、テストが実行されるようになりましたが、android.jar の org.json 名前空間と競合するため、Android パッケージを作成できなくなりました。ここに例外があります
[error] (Buzze/android:proguard) java.io.IOException: Can't read [/home/rohit/Projects/barfrendz/trunk/src/buzze/lib/json.jar(;;;;!META-INF/MANIFEST.MF,!**/R.class,!**/R$*.class,!**/TR.class,!**/TR$.class,!**/library.properties)] (Can't process class [org/json/CDL.class] (Unsupported version number [51.0] for class format))
単体テストのクラスパスでjarの順序を変更できる方法はありますか?