我的build.sbt文件有一些配置可以使用AkkaGrpcPlugin和DockerPlugin,因为我要在停靠中心发布图像。
lazy val akkaGrpcVersion = "1.0.2"
lazy val protobufVersion = "3.11.4"
enablePlugins(JavaAppPackaging, JavaServerAppPackaging, AkkaGrpcPlugin, DockerPlugin)
akkaGrpcGeneratedLanguages := Seq(AkkaGrpc.Java)
libraryDependencies ++= Seq(
......
)
dockerUsername := Some("felipeogutierrez")sbt compile和sbt run工作得很好,但是命令sbt docker:publishLocal无法工作,因为它试图在target目录中找到由gRPC创建的一些类。
[error] /home/felipe/workspace-idea/explore-akka/target/scala-2.12/
akka-grpc/main/org/github/felipegutierrez/explore/akka/rpc/greeting/HelloRequest.java:29:7:
not found: type UnusedPrivateParameter
[error] UnusedPrivateParameter unused) {
[error] ^这些类属于package org.github.felipegutierrez.explore.akka.rpc.greeting的类,在运行sbt docker:publishLocal时,我希望将它们排除在坞映像之外。我试过这个solution,但没成功。或者找到一些解决办法来解决这个问题。
发布于 2020-12-31 10:04:05
问题是我使用AkkaGrpcPlugin生成了target文件,它们被放置在我的项目的target目录中。所以停靠程序编译器看不到它。我从AkkaGrpcPlugin和akkaGrpcGeneratedLanguages := Seq(AkkaGrpc.Java)中删除了build.sbt,并安装了protobuf编译器来自己生成build.sbt文件。
sudo apt install protobuf-compiler
protoc --java_out=main/java main/protobuf/helloworld.proto然后在src目录上生成文件,Docker可以看到它们。因此,我不再需要排除build.sbt中的文件。
https://stackoverflow.com/questions/64970550
复制相似问题