如何从 Gradle 中的内置 JAR 中排除依赖项?

How to exclude a dependency from built JAR in Gradle?

我在 build.gradle:

中指定了当前依赖项
dependencies {
        implementation("com.thesamet.scalapb:scalapb-runtime-grpc_2.13:0.11.1")
}

而且我想将它从我构建的 JAR 中排除。在 sbt 中,这样做就足够了:

   libraryDependencies ++= Seq(
  "com.thesamet.scalapb" %% "scalapb-runtime-grpc" % "0.11.1" % Optional
)

但是在 Gradle 中如何做到同样的事情呢?我在一些 post 中看到他们使用 compile.exclude 来排除传递依赖,但这不是传递依赖,所以不确定只使用 compile.exclude 是否可以(?)

我想你想要这样的东西。

dependencies {
      compileOnly "com.thesamet.scalapb:scalapb-runtime-grpc_2.13:0.11.1"
}

参考:https://blog.gradle.org/introducing-compile-only-dependencies