Gradle尝试编译jar的源代码

时间:2013-06-17 08:20:51

标签: java gradle

在我的项目中,我有一些由我公司创建的java源代码和依赖jars',其中包含源代码。问题是命令compileJava尝试编译jar文件源。怎么避免这个?我想只编译我的资源,而不是jars的资源。

[UPDATE]

以下是一个示例:

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源代码,但它们不应该。

3 个答案:

答案 0 :(得分:0)

Gradle仅编译具有(1)源代码和(2)应用java插件的模块或项目的源代码。

如果要禁用特定项目的jar的编译或创建,可以使用如下语法:

project("Project123") { 
    compileJava.enabled = false
    //AND / OR
    jar.enabled = false
}

修改

但是,如果您从外部源(如常春藤)中提取依赖项,则可以尝试包含依赖项的类型:

compile 'myLib:myLib:1.0:jar'

答案 1 :(得分:0)

您所描述的是Java编译器的标准行为,可以使用与命令行编译器相同的方式关闭:

tasks.withType(JavaCompile) {
    options.compilerArgs = ["-implicit:none"]
}

答案 2 :(得分:0)

我有同样的问题 - 结果设置一个空的源路径解决了问题

tasks.withType(JavaCompile) { options.compilerArgs += ["-sourcepath", ""] }

我很好奇为什么-implicit:none不起作用但不足以进一步调查(至少现在不行)。

来源:Peter在this post中的答案。