2016-08-05 74 views
1

您好我有一個Gradle模塊,它根據.proto文件生成協議緩衝區的類並將其打包爲.jar和另一個導入該jar的模塊。生成的類存在於jar中,但IntelliJ沒有看到它們。ProtoBuffer通過gradle生成的類在另一個模塊中不可見IntelliJ

模型模塊.proto定義:

description = '' 

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath "com.google.protobuf:protobuf-gradle-plugin:0.7.7" 
    } 
} 

dependencies { 
    compile 'com.google.protobuf:protobuf-java:2.6.1' 
} 

apply plugin: 'java' 
apply plugin: "com.google.protobuf" 
protobuf { 
    protoc { 
     artifact = 'com.google.protobuf:protoc:2.6.1' 
    } 
} 

控制器模塊,導入模塊。

description = '' 

dependencies { 
    compile project(':models') 
} 

問題是當我嘗試在控制器中使用生成的模型類IntelliJ沒有看到它們。

回答

2

解決方案,我發現:

添加到構建以下行:

sourceSets { 
    main { 
     java { 
      srcDirs = ["src/main/java", "${protobuf.generatedFilesBaseDir}/main/java"] 
     } 
    } 
} 
相關問題