有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Gradle JavaExec任务失败,以下任务之间存在循环依赖关系

我有一个JavaExec任务,它运行一个Java类来生成文件。源代码生成器需要搜索类路径,以找到用于确定生成内容的特定类。它需要当前项目的类位于类路径中

我有一个任务:

task showClasspath(type: JavaExec) {
    main = "com.my.codegen.Main"
    classpath = sourceSets.main.runtimeClasspath
    classpath += project(":CodeGen").sourceSets.main.runtimeClasspath
    args "generate",
}

当我运行这个任务时,我得到了“以下任务之间的循环依赖关系:”。很明显,我指的是类路径本身

如果使用此任务,则项目类不在类路径中:

task showClasspath(type: JavaExec) {
    main = "com.my.codegen.Main"
    classpath += project(":CodeGen").sourceSets.main.runtimeClasspath
    args "generate",
}

我在这个问题上兜了几个小时圈子,真的需要一些帮助

提前谢谢


共 (1) 个答案

  1. # 1 楼答案

    我发现了问题。我太蠢了,忘了我有这个:

    compileJava.dependsOn generateJava
    

    generatejava引用了我的code gen任务,因此它实际上是我自己创建的一个循环