如何将生成的源文件夹添加到Gradle中的源path中?

我使用注释处理。 所以我使用apt插件 。 它在build/source/apt生成新的javabuild/source/apt

这是我的build.gradle

 apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'apt' apply plugin: 'war' apply plugin: 'gwt' apply plugin: 'jetty' sourceCompatibility = 1.7 version = '1.0' eclipse { classpath { downloadSources=true downloadJavadoc=true } } buildscript { repositories { mavenCentral() jcenter() maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } } dependencies { classpath 'de.richsource.gradle.plugins:gwt-gradle-plugin:0.6' classpath 'com.jimdo.gradle:gradle-apt-plugin:0.5-SNAPSHOT' } } repositories { mavenCentral() maven { name = "sonatype" url = "https://oss.sonatype.org/content/repositories/snapshots/" } } dependencies { apt 'com.google.dagger:dagger-compiler:2.0-SNAPSHOT:jar-with-dependencies' compile 'com.google.guava:guava:18.0' compile 'com.google.guava:guava-gwt:18.0' compile 'javax.inject:javax.inject:1' compile 'com.google.dagger:dagger:2.0-SNAPSHOT' } gwt { gwtVersion='2.7.0' logLevel = 'INFO' minHeapSize = "512M"; maxHeapSize = "1024M"; compiler { strict = true; } modules 'test.GWTT' } tasks.withType(de.richsource.gradle.plugins.gwt.AbstractGwtActionTask) { args '-XjsInteropMode', 'JS' } 

我需要这个源代码在我的项目中可用,这样eclipse就可以find它们,并且在编译项目时包含它们,我该怎么做?

编辑:使用

 sourceSets { apt{ java{ srcDir 'build/source/apt' } } } 

运行gradle build时导致以下错误:

 Compiling module test.GWTT Tracing compile failure path for type 'test.client.GWTT' [ERROR] Errors in 'file:/Users/mg/Documents/Grails/GGTS3.6.2/TestGradle2/src/main/java/test/client/GWTT.java' [ERROR] Line 17: No source code is available for type test.client.test2.Dagger_MyWidgetGinjector; did you forget to inherit a required module? Finding entry point classes Tracing compile failure path for type 'test.client.GWTT' [ERROR] Errors in 'file:/Users/mg/Documents/Grails/GGTS3.6.2/TestGradle2/src/main/java/test/client/GWTT.java' [ERROR] Line 17: No source code is available for type test.client.test2.Dagger_MyWidgetGinjector; did you forget to inherit a required module? [ERROR] Hint: Check the inheritance chain from your module; it may not be inheriting a required module or a module may not be adding its source path entries properly :compileGwt FAILED 

使用以前的Eclipsefind生成的文件的来源,但build立不。

Solutions Collecting From Web of "如何将生成的源文件夹添加到Gradle中的源path中?"

尝试为输出类定义一个自定义源集。 就像是:

 sourceSets { apt{ java{ srcDir 'build/source/apt' } } } 

应该让你接近。 有关更多详细信息,请查看java gradle插件文档的源代码部分(23.7)了解更多详细信息。

sourceSets.main.java.srcDirs = ['build/generated-sources/xjc','src/main/java']为我工作。

对于匕首2与jar插件,你可以把

 sourceSets.main.java.srcDirs = ['build/generated/source/apt/main','src/main/java'] 

在build.gradle