我正在使用Scala 2.11.8并尝试添加protobuf。
这是我的日志:
请问,我做错了什么?[info] Protoc目标目录:/ home / user / Git / tortle / target / src_managed / main
[info] Protoc目标目录:/ home / user / Git / tortle / target / src_managed / main
[...]
[error] /home/user/Git/tortle/target/src_managed/main/msgsp/IngInfo/IngInfo.scala:46:IngInfo 已定义为案例类 IngInfo
[错误]最终案例类IngInfo(
[错误]找到60个错误
我尝试了很多东西,但这个错误总会回来:/ 感谢。
我的build.sbt:
libraryDependencies ++= Seq(
"com.trueaccord.scalapb" %% "scalapb-runtime" % "0.6.6",
"com.trueaccord.scalapb" %% "scalapb-runtime" % "0.6.6" % "protobuf")
PB.targets in Compile := Seq(
PB.gens.java -> (sourceManaged in Compile).value,
scalapb.gen(javaConversions = true) -> (sourceManaged in Compile).value)
我的插件.bt
addSbtPlugin("com.thesamet" % "sbt-protoc" % "0.99.18")
libraryDependencies += "com.thesamet.scalapb" %% "compilerplugin" % "0.7.1"
我的* .proto文件位于src / main / protobuf文件夹中,并按如下所示开始:
syntax = "proto3";
package msgsp;
message Tortle{}
答案 0 :(得分:0)
首先,您的库依赖项指向版本0.6.6,并且您的compilerplugin指向0.7.1。请将您的libraryDependencies更新为:
libraryDependencies ++= Seq(
"com.thesamet.scalapb" %% "scalapb-runtime" % "0.7.1" % "protobuf")
)
最后不需要scalapb-runtime
而不包含% "protobuf"
,因为sbt-protoc会自动为您添加。
如果这不能解决您的问题,请尝试查看您是否真的有" IngInfo"在Scala文件中定义了多次。您的项目是否可能在项目中具有相同名称的类?有时,当您将生成文件的目录更改为旧版本时,会发生这种情况。