当前位置 : 主页 > 编程语言 > 其它开发 >

grpc

来源:互联网 收集:自由互联 发布时间:2022-05-20
grpc-java 源码环境的构建坑比较多,翻了很多博客,也没有详细的步骤,但源码都构建不起来,怎能学透彻。 1. Clone1.1 git clone https://github.com/grpc/grpc-java.git1.2 idea 打开grpc-java工程 2.compi

grpc-java 源码环境的构建坑比较多,翻了很多博客,也没有详细的步骤,但源码都构建不起来,怎能学透彻。

1. Clone 1.1 git clone https://github.com/grpc/grpc-java.git 1.2 idea 打开grpc-java工程 图片名称 2.compile 2.1 java version

java 版本需要 1.8 以上

2.2 gradle.properties

grpc-java 有一个用于 protoc 的 C++ 代码生成插件。由于许多 Java 开发人员没有安装 C 编译器,也不需要运行或修改 codegen,因此构建可以跳过它。要跳过,请创建文件
/gradle.properties并添加skipCodegen=true.

grpc-java 的某些部分依赖于 Android。由于许多 Java 开发人员没有安装 Android SDK,也不需要运行或修改 Android 组件,因此构建可以跳过它。要跳过,请创建文件
/gradle.properties并添加skipAndroid=true.

在grpc-java的根目录下新建一个gradle.properties 文件。

图片名称 2.3 gradle

运行 $ ./gradlew build 构建 grpc-java。

图片名称

运行:$ ./gradlew publishToMavenLocal 将依赖安装到 Maven 本地仓库中。

3. Build examples

运行 $ ./gradlew build 构建 grpc-java/examples。

图片名称
    Execution failed for task ':generateProto'.
      > Could not resolve all files for configuration ':protobufToolsLocator_grpc'.
          > Could not find io.grpc:protoc-gen-grpc-java:1.46.1-SNAPSHOT.

对于这个问题,主要是因为io.grpc:protoc-gen-grpc-java:1.46.1-SNAPSHOT. 这个jar没有生成,在我们本地的仓库中没找到。打包生成的方式,我还没找到。
一个取巧的解决方法是将example/build.gradle中的这个SNAPSHOT版本号替换成已有的正式版本。
正式版本: https://repo1.maven.org/maven2/io/grpc/protoc-gen-grpc-java/
从中找到跟你项目的grpcVersion 接近的正式版本。

 grpc { artifact = "io.grpc:protoc-gen-grpc-java:${grpcVersion}" }

  将${grpcVersion} 替换成你跟SNAPSHOT版本相近的正式版本。

如:grpc { artifact = "io.grpc:protoc-gen-grpc-java:1.46.0" }

然后再重新运行 $ ./gradlew build 构建 grpc-java/examples。

大功告成,grpc-java源码就编译完成了。
上一篇:认识并安装WSL
下一篇:没有了
网友评论