繁体   English   中英

Gradle尝试编译jar的来源

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM