ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

grpc-java源码环境编译

2022-05-19 19:32:14  阅读:208  来源: 互联网

标签:protoc java grpc gradle 源码 io gen


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源码就编译完成了。

标签:protoc,java,grpc,gradle,源码,io,gen
来源: https://www.cnblogs.com/xwzp/p/16288678.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有