[英]Gradle tries to compile jars' sources
在我的项目中,我有一些由公司创建的Java源以及包含源的依赖关系jar。 问题是命令compileJava
尝试也编译jar资源。 如何避免这种情况? 我只想编译我的资源,而不是jars的资源。
[更新]
这是一个示例,它看起来如何:
apply plugin: 'java'
tasks.withType(JavaCompile) {
options.compilerArgs = ["-implicit:none"] // this doesn't work
//options.compilerArgs << "-implicit:none" // this one also
}
repositories {
mavenCentral()
}
dependencies {
compile 'com.company:myLib:1.0'
}
myLib
包含由gradle编译的Java源代码,但不应编译。
Gradle仅针对具有(1)具有源代码和(2)应用了Java插件的模块或项目编译源代码。
如果要禁用特定项目的jar的编译或创建,可以使用如下语法:
project("Project123") {
compileJava.enabled = false
//AND / OR
jar.enabled = false
}
编辑
但是,如果您要从像ivy这样的外部源中获取依赖项,则可以尝试包括依赖项的类型:
compile 'myLib:myLib:1.0:jar'
您所描述的是Java编译器的标准行为,可以通过与命令行编译器相同的方式将其关闭:
tasks.withType(JavaCompile) {
options.compilerArgs = ["-implicit:none"]
}
我有同样的问题-原来设置空的源路径可以解决问题
tasks.withType(JavaCompile) { options.compilerArgs += ["-sourcepath", ""] }
我很好奇-implicit:none
无效的原因,但不足以进一步调查(至少现在不是)。
资料来源:Peter在这篇文章中的回答。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.