Kotlin/JVM 上的 Grpc

Posted

技术标签:

【中文标题】Kotlin/JVM 上的 Grpc【英文标题】:Grpc on Kotlin/JVM 【发布时间】:2021-07-27 11:31:12 【问题描述】:

我一直在寻找一个关于如何将 grpc 添加到我的项目中的博客。我发现的最好的是:https://medium.com/swlh/using-grpc-with-kotlin-for-building-microservices-2a79d95a236a

不幸的是,这里的步骤没有清楚地解释。例如。 proto 文件应该在哪里定位,我应该在哪里准确导入 Protobuf 编译器(我真正需要什么?)。 错误: 任务 ':stub:extractIncludeProto' 执行失败。

> Could not resolve all files for configuration ':stub:compileProtoPath'.
   > Could not find io.grpc:grpc-kotlin-stub:1.1.0-SNAPSHOT.
     Searched in the following locations:
       - file:/C:/Users/David/.m2/repository/io/grpc/grpc-kotlin-stub/1.1.0-SNAPSHOT/maven-metadata.xml
       - file:/C:/Users/David/.m2/repository/io/grpc/grpc-kotlin-stub/1.1.0-SNAPSHOT/grpc-kotlin-stub-1.1.0-SNAPSHOT.pom
       - https://repo.maven.apache.org/maven2/io/grpc/grpc-kotlin-stub/1.1.0-SNAPSHOT/maven-metadata.xml
       - https://repo.maven.apache.org/maven2/io/grpc/grpc-kotlin-stub/1.1.0-SNAPSHOT/grpc-kotlin-stub-1.1.0-SNAPSHOT.pom
       - https://dl.google.com/dl/android/maven2/io/grpc/grpc-kotlin-stub/1.1.0-SNAPSHOT/maven-metadata.xml
       - https://dl.google.com/dl/android/maven2/io/grpc/grpc-kotlin-stub/1.1.0-SNAPSHOT/grpc-kotlin-stub-1.1.0-SNAPSHOT.pom
     Required by:
         project :stub

Possible solution:
 - Declare repository providing the artifact, see the documentation at https://docs.gradle.org/current/userguide/declaring_repositories.html

基本问题可能是所有grpc tutorials 都基于此github repository,我无法从示例文件夹编译任何项目。问题是 gradle 找不到原始项目,即使它在那里(在我看来)。

所以我决定问你,如果有人有关于如何使用空 Kotlin/JVM 应用程序的基础制作简单 grpc 服务器的链接或知识。

很抱歉这个简单的问题,但这真的让我很不安,这根本行不通

【问题讨论】:

你的错误是什么? 如果将其添加到我的问题中 我真的不明白为什么这不起作用 【参考方案1】:

grpc-kotlin-stub版本从1.1.0-SNAPSHOT替换为1.1.0;因为在这些存储库中找不到快照。或者您应该首先在 grpc-kotlin-stub 项目中使用 mvn install1.1.0-SNAPSHOT 安装到本地 maven repo。

【讨论】:

我试过了,还是没有解决我的问题

以上是关于Kotlin/JVM 上的 Grpc的主要内容,如果未能解决你的问题,请参考以下文章

MapDB ClassNotFoundException:kotlin.jvm.internal.Intrinsics

Kotlin JVM 和 Kotlin Native 有啥区别?

Kotlin 1.5新特性记录

Kotlin 1.5新特性记录

Kotlin 1.5新特性记录

在以下任何来源中均未找到插件 [id: 'org.jetbrains.kotlin.jvm', version: '1.2.71']