Protocol buffers *.proto文件被忽略

Protocol buffers *.proto文件被忽略,protocol-buffers,scalapb,Protocol Buffers,Scalapb,我正在尝试使用protobuffers和scalaPB,我添加了: import com.trueaccord.scalapb.compiler.Version.scalapbVersion libraryDependencies += "com.trueaccord.scalapb" %% "scalapb-runtime" % scalapbVersion % "protobuf" PB.targets in Compile := Seq( scalapb.gen() ->

我正在尝试使用protobuffers和scalaPB,我添加了:

import com.trueaccord.scalapb.compiler.Version.scalapbVersion

libraryDependencies += "com.trueaccord.scalapb" %% "scalapb-runtime" % 
scalapbVersion % "protobuf"

PB.targets in Compile := Seq(
  scalapb.gen() -> (sourceManaged in Compile).value
)
在plugins.sbt的以下行

addSbtPlugin("com.thesamet" % "sbt-protoc" % "0.99.3")

libraryDependencies += "com.trueaccord.scalapb" %% "compilerplugin" % "0.5.47"
和src/main/protobuf下的.proto文件:

syntax = "proto3";

import "scalapb/scalapb.proto";
import "google/protobuf/wrappers.proto";

package actors;
message ExamplePROTO {
    double value = 1;
}
但使用sbt编译不会发生任何事情-类不会在目标中生成。文件被忽略,因为即使protobuf文件中有一些输入错误,protobuf项目仍然可以编译。我还尝试使用

logLevel in Global := Level.Debug
但是提到的唯一文件.proto有一些内部文件,如:/target/protobuf_external/google/protobuf/source_context.proto


我怎样才能继续呢?我能了解一下scalaPB在看什么吗?

看起来你做的一切都很好。您能否尝试克隆此测试项目并查看它是否为您编译?如果是,那么让我们来看看它与您的项目有什么不同。如果它没有编译-我怀疑这是一个系统/环境问题(比如从~/.sbt)thx干扰ScalaPB,至少我知道我没有做一些非常违背现有实践的事情;)我在那里混合了play/akka,我将尝试克隆您的repo并删除一些依赖项以跟踪它您的repo编译、类生成。也许是我的项目结构不同?Play将其类保留在'app'目录中,而不是'src'。我只是为.proto文件创建了“/src/main/protobuf”dir,也许我需要在scalaPB配置中指向它?好的,我找到了你的答案:游戏似乎打断了scalaPB的一些路径。我在sbt中输入了“protocSources”,它令人惊讶地指向“/app/protobuf”,所以我把我的.proto文件移到了那里。现在它正在尝试编译它!:)但投诉:scalapb/scalapb.proto:未找到文件。google/protobuf/wrappers.proto:找不到文件。它可以工作!早上,我将版本更改为您在scalapb测试中使用的版本(“scalapb运行时grpc”%”0.5.43),但出现了与上述注释类似的错误。我把它回滚到我的帖子中提到的那些,现在一切都好了。您能告诉我是什么原因导致scalaPB的/app/protobuf路径发生更改吗?在playframework中混合可以打破scalaPB默认值是正常的吗?