日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

ScalaPB(4): 通用跨系统protobuf数据,sbt设置

發布時間:2025/5/22 windows 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ScalaPB(4): 通用跨系统protobuf数据,sbt设置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? 我們知道,在集群環境節點之間進行交換的數據必須經過序列化/反序列化處理過程,而在這方面protobuf是一個比較高效、易用的模式。用戶首先在.proto文件中用IDL來定義系統中各種需要進行交換的數據類型。然后用protoc編譯器自動產生相關的源代碼,里面包括了完整的序列化處理函數。在一個集成的系統環境內,protobuf數據必須保持與所有系統的松散耦合,不能對這些用戶系統有任何依賴。這樣把protobuf數據類型和相關的序列化/反序列化函數打成一個獨立的包,由用戶系統各自引用就是一種最佳解決方案了。

下面示范產生一個獨立的protobuf包。build.sbt定義如下:

import scalapb.compiler.Version.scalapbVersion import scalapb.compiler.Version.grpcJavaVersionname := "common-protobuf-data"version := "0.1"scalaVersion := "2.12.6"libraryDependencies ++= Seq("com.thesamet.scalapb" %% "scalapb-runtime" % scalapbVersion % "protobuf","io.grpc" % "grpc-netty" % grpcJavaVersion,"com.thesamet.scalapb" %% "scalapb-runtime-grpc" % scalapbVersion )PB.targets in Compile := Seq(scalapb.gen(flatPackage = true) -> (sourceDirectory in Compile).value / "scala/generated")

注意我們指定把產生的源代碼放在src/main/scala/generated/目錄下。

我們再隨便建個.proto文件:

syntax = "proto3";// Brought in from scalapb-runtime import "scalapb/scalapb.proto"; import "google/protobuf/wrappers.proto";package proto.microservices;message Added {int32 nbr1 = 1;int32 nbr2 = 2; }message Subtracted {int32 nbr1 = 1;int32 nbr2 = 2; }message AddedResult {int32 nbr1 = 1;int32 nbr2 = 2;int32 result = 3; }message SubtractedResult {int32 nbr1 = 1;int32 nbr2 = 2;int32 result = 3; }

用sbt package 產生common-protobuf-data_???.jar文件。在使用方sbt項目里可以用unmanagedBase指定.jar路徑或者把包放到默認的lib/目錄下:

lazy val commonSettings = Seq(name := "using-common-protobuf-data",version := "1.0",scalaVersion := "2.12.6", )lazy val local = (project in file(".")).settings(commonSettings).settings(libraryDependencies ++= Seq("com.typesafe.akka" %% "akka-remote" % "2.5.11","com.thesamet.scalapb" %% "scalapb-runtime" % scalapb.compiler.Version.scalapbVersion % "protobuf"),)unmanagedBase := file("/users/tiger-macpro/jars/")PB.targets in Compile := Seq(scalapb.gen() -> (sourceManaged in Compile).value )

好了。在上面的.sbt文件中有關路徑的設置需要總結一下:

1、改變默認源代碼路徑: ? (src/main/scala, src/test/scala)

scalaSource in Compile := baseDirectory.value / "src" scalaSource in Test := baseDirectory.value / "test-src"javaSource in Compile := baseDirectory.value / "src" javaSource in Test := baseDirectory.value / "test-src"

2、改變默認資源路徑:(src/main/resources)

resourceDirectory in Compile := baseDirectory.value / "resources" resourceDirectory in Test := baseDirectory.value / "test-resources"

3、改變默認附加庫路徑:(lib/)

unmanagedBase := baseDirectory.value / "jars" //只在編譯時引用 unmanagedBase in Compile := baseDirectory.value / "lib" / "main"

4、取消根目錄為源代碼默認路徑:

sourcesInBase := false

5、增加一個源代碼路徑:

unmanagedSourceDirectories in Compile += baseDirectory.value / "extra-src"

6、增加一個資源路徑:

unmanagedResourceDirectories in Compile += baseDirectory.value / "extra-resources"

?

轉載于:https://www.cnblogs.com/tiger-xc/p/9031143.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的ScalaPB(4): 通用跨系统protobuf数据,sbt设置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 奇米网在线观看 | 樱桃视频污污 | 青青视频网| 屁屁影院第一页 | 日本在线视频不卡 | 日韩毛片网站 | 色噜噜在线 | 欧美日韩亚洲精品一区二区 | 日本黄色小网站 | 久久久最新 | 亚洲另类欧美日韩 | www.日日日| 人人人妻人人澡人人爽欧美一区 | 国产成人精品一区二区在线小狼 | 国产人妻互换一区二区 | 色噜噜在线| 国产又爽又黄无码无遮挡在线观看 | 国产女主播一区二区三区 | 国产欧美一区二区三区国产幕精品 | japanese在线| 99re在线观看视频 | 亚洲视频123 | 日日操日日操 | 国产又粗又猛又黄又爽无遮挡 | 国产999在线 | 亚洲调教 | 永久在线免费观看 | 日韩一区二区三区电影 | 蜜桃一二三区 | 亚洲人视频在线观看 | 久久国精品 | 四虎永久免费影院 | 亚洲码国产精品高潮在线 | 97爱爱视频 | 亚洲在线不卡 | 奶水旺盛的少妇在线播放 | 日日噜噜噜噜人人爽亚洲精品 | 欧美视频一区二区 | 91麻豆精品国产91久久久久久 | 欧美一级做性受免费大片免费 | 亚洲av永久无码精品一区二区国产 | 91视频黄色| 午夜日韩视频 | 国产精品视频一区在线观看 | 激情五月激情 | 一道本一区二区 | 在线观看黄网站 | 四虎8848精品成人免费网站 | 久久爱综合网 | 老太脱裤让老头玩ⅹxxxx | 男女黄色网 | www四虎精品视频免费网站 | www久久久天天com | 国产一区二区三区视频 | 久热只有精品 | 国产精品178页 | 夜夜高潮夜夜爽国产伦精品 | 亚洲一级精品 | 在线观看涩涩 | 精品国产av一区二区 | 乱老熟女一区二区三区 | 一本在线 | 黄色九九 | 天干夜天干天天天爽视频 | 国产91一区二区三区在线精品 | 一本久久a精品一合区久久久 | 91在线网站 | 波多野结衣99 | 国产女人18水真多毛片18精品 | 成年人在线观看网站 | 麻豆短视频在线观看 | 精品免费一区 | 黄色天堂av | 尤物视频在线免费观看 | 一级毛毛片| 神马午夜91 | 国产在线午夜 | 午夜视频一区 | 国产毛片毛片毛片毛片毛片毛片 | 国产综合精品久久久久成人影 | 四虎黄色网 | 欧美成人三级在线观看 | 欧美成人免费一级人片100 | 中文字幕人妻熟女在线 | 国产毛片aaa | 欧美日韩人妻精品一区在线 | 中文字幕avav | 在线免费观看www | 毛片基地在线观看 | 久久久国产精品 | 久久综合婷婷国产二区高清 | 打屁股视频网站 | 欧美激情精品久久久久久变态 | 久久精品视频1 | 熟妇人妻精品一区二区三区视频 | 少妇无码av无码专区在线观看 | 欧美午夜一区二区三区 | 老鸭窝视频在线观看 | 国产中文在线视频 |