在使用 gRPC 的应用程序中使用 kotlin-script-util(用于 JSR-223 支持)时番石榴冲突

Guava conflicts when using kotlin-script-util (for JSR-223 support) in application that uses gRPC

我有一个基于 Spring 的 Web 应用程序,它使用 gRPC 与我的中间层通信。我希望能够将 kotlin-script-util 用于 JSR-223 脚本引擎。由于 kotlin-script-util 依赖于 kotlin-compiler 依赖项(使用 Guava),因此我遇到了与 gRPC 依赖项的版本冲突。

我看到有一个带阴影的 kotlin-compiler-embeddable jar,但没有利用此依赖项的 kotlin-script-util。

我可以做些什么来让这些依赖项协同工作吗?

kotlin-script-util: 1.1.1
gRPC:1.2.0

很遗憾,这个问题没有现成的解决方案。我们将尝试在下一个版本中解决它。 (有关相关问题,请参阅 KT-17556)。

作为解决方法,您现在可以编译自己的 kotlin-script-utils 变体。只需复制项目,将适当的依赖项更改为 kotlin-compiler-embeddable,然后通过更新 import 语句修复一些编译错误(com.intellij.openapi.* 包在 kotlin-compiler- 中重新定位到 org.jetbrains.kotlin.com.intellij.openapi.*可嵌入。)