Gradle:自定义源设置为主要和测试的依赖

时间:2014-01-16 12:30:42

标签: java gradle classpath source-sets

我在Gradle项目中创建了自定义源集,以保留所有生成的代码:

sourceSets {
  generated {
    java {
      srcDir 'src/generated/java'
    }
    resources {
      srcDir 'src/generated/resources'
    }
  }
}

我希望在maintest源集的编译和运行时提供此源集的代码编译结果。

在Gradle中以正确的语义方式做什么?

更新

正如这里建议的那样:How do I add a new sourceset to Gradle?对我不起作用,当我启动我的应用程序时仍然会得到java.lang.ClassNotFoundException(尽管编译和单元测试运行正常)。这是我试过的:

sourceSets {
  main {
    compileClasspath += sourceSets.generated.output
    runtimeClasspath += sourceSets.generated.output
  }

  test {
    compileClasspath += sourceSets.generated.output
    runtimeClasspath += sourceSets.generated.output
  }
}

1 个答案:

答案 0 :(得分:17)

sourceSets {
    main {
        compileClasspath += generated.output
        runtimeClasspath += generated.output
    }
}

test源集相同。