У меня странный сценарий, когда Gradle кажется, что он пытается скомпилировать файлы «.java», расположенные внутри файлов jar, которые я задал в качестве зависимостей. Я делаю что-то вроде этого:Gradle компиляция .java внутри файлов jar?
dependencies {
testCompile fileTree(dir: './libs', include: ['*JarResources/Java/*.jar'])
testCompile group: 'junit', name: 'junit', version: '4.11'
}
... и у меня есть довольно большой список флагов. Когда я пытаюсь запустить свои тесты, он не работает на этапе компиляции, где он не может найти символы для файлов Java, заправленных внутри файлов jar. Некоторые из этих jar-зависимостей упакованы вместе со своим источником, сидящим рядом с соответствующим .class. Я попытался использовать фильтр включения в моем исходном наборе безрезультатно.
sourceSets {
main {
java {
exclude 'com/mypkg/other/**'
}
}
test {
java {
include 'com/mypkg/test/**'
}
}
}
Я могу запустить тесты в IntelliJ 13, используя его Gradle-Aware макияж без проблем (здесь я правой кнопкой мыши на юнит-тесты и запускать их), поскольку это достаточно умен, чтобы построить путь класса зависимость без прохождения файлы в Javac, но как-то то же самое build.gradle терпит неудачу из командной строки. Является ли это известной проблемой, когда Gradle автоматически передает зависимости javac, когда находит их в файлах Jar?
Спасибо тонну !!! Ты спас мой бекон этим советом! К сожалению, у меня нет возможности изменять структуру зависимостей. Это один из тех сценариев «это было так, когда я получил это». Я бы не нашел выход из этого на какое-то время! – Cliff