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