【发布时间】:2014-01-16 12:30:41
【问题描述】:
我在 Gradle 项目中创建了自定义源集以保留所有生成的代码:
sourceSets {
generated {
java {
srcDir 'src/generated/java'
}
resources {
srcDir 'src/generated/resources'
}
}
}
我想让这个源集的代码编译结果在 main 和 test 源集的编译和运行时可用。
在 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
}
}
【问题讨论】:
-
这个问题有点不同,并没有解决我的问题,当我启动我的应用程序时,我仍然收到
ClassNotFoundException。请查看更新后的问题。 -
您必须提供更多信息,例如你究竟是如何启动应用程序的,找不到什么类等等。
-
您可以将堆栈跟踪添加到问题中吗?
-
jar { from sourceSets.generated.output }.
标签: java gradle classpath source-sets