java protobuf生成未指定的额外软件包

时间:2018-12-17 18:52:33

标签: java protocol-buffers protobuf-java

我正在尝试将我的项目设置为从原始文件生成Java代码,作为gradle构建的一部分。我让它生成代码,但是没有将生成的代码放入我期望的包中,这会导致问题。

我的一个原始文件的顶部看起来像:

syntax = "proto3";

import "google/protobuf/any.proto";

package gobgpapi;

option java_package = "com.foo";

在构建项目时,文件树如下所示:

enter image description here

您可以看到一个额外的main.java已添加到程序包中。这是哪里来的并且可以配置?

这是protobuf {我的build.gradle中的部分:

project(':foo-gobgp') {
protobuf {
    generatedFilesBaseDir = "$projectDir/src/main/java"
    protoc { 
        // The artifact spec for the Protobuf Compiler
        artifact = "com.google.protobuf:protoc:$protobufJavaVersion"
    }
    //noinspection GroovyAssignabilityCheck
    plugins {
        grpc {
            artifact = "io.grpc:protoc-gen-grpc-java:$grpcVersion"
        }
    }
    generateProtoTasks {
        ofSourceSet('main')*.plugins {
            // Apply the "grpc" plugin whose spec is defined above, without
            // options.  Note the braces cannot be omitted, otherwise the
            // plugin will not be added. This is because of the implicit way
            // NamedDomainObjectContainer binds the methods.
            grpc {}
        }
    }
}

}

0 个答案:

没有答案