1
我有一個奇怪的場景,其中Gradle好像試圖編譯位於我設置爲依賴關係的jar文件內的「.java」文件。我做這樣的事情:Gradle在jar文件中編譯.java?
dependencies {
testCompile fileTree(dir: './libs', include: ['*JarResources/Java/*.jar'])
testCompile group: 'junit', name: 'junit', version: '4.11'
}
...我有一個相當大的jar依賴列表。當我嘗試運行我的測試時,它在編譯階段失敗,它無法找到堆放在jar文件中的Java文件的符號。這些jar依賴關係中的一部分打包時,其源代碼將放在相應的.class旁邊。我嘗試使用包含過濾器在我的源設置無濟於事。
sourceSets {
main {
java {
exclude 'com/mypkg/other/**'
}
}
test {
java {
include 'com/mypkg/test/**'
}
}
}
我可以使用它的gradle這個意識,恕不問題(我在這裏右擊單元測試和運行它們),因爲它是足夠聰明,構建依賴類路徑,而沒有經過運行的IntelliJ 13測試文件到Javac,但不知何故相同的build.gradle從命令行失敗。這是一個已知的問題,Gradle會自動將依賴關係傳遞給javac,因爲它在Jar文件中發現它們?
謝謝!你用這個提示保存了我的培根!不幸的是我沒有能力改變依賴關係的結構。這是那些「當我得到它時就是這樣」情景。有一段時間我不會找到我的出路! – Cliff 2014-09-19 00:45:02