想法没有从同一个gradle项目中的另一个模块识别thrift类型

时间:2015-01-14 00:36:16

标签: intellij-idea gradle thrift

我有以下项目结构

datatypes/
  build.gradle
  src/main/thrift/service.thrift
service/
  build.gradle
  /src/main/java/ServiceImpl.java
build.gradle
settings.gradle

我使用yodle / gradle作为gradle插件从thrift生成java源代码并编译它们。正在datatypes按预期生成源和jar文件。

service/build.gradle中,我将依赖关系定义为:

dependencies {
    compile project(':datatypes')
}

正在运行gradle build非常合适;我唯一的问题是在工作中的想法。将此作为gradle模块导入后,我无法在ServiceImpl.java中识别thrift中定义的类型。

如何将datatypes/build/libs/中的jar包含为service的依赖项?

谢谢!

1 个答案:

答案 0 :(得分:0)

问题实际上是由yodle/griddle插件设置的默认thrift生成的java源路径位于build/文件夹中。我刚在datatypes/build.gradle

中添加了以下内容
thriftGenDir = 'src/main'

现在java代码在src/main/gen-java中生成,它被作为dataypes的来源选择,并用它来为依赖datatypes的任何人定义类型。