gpt4 book ai didi

适用于protobuf的Clojure示例

转载 作者:行者123 更新时间:2023-12-04 12:58:35 25 4
gpt4 key购买 nike

修改的。该代码现在可以使用了。

我正在尝试遵循以下示例:

https://github.com/flatland/clojure-protobuf

因此,我创建了一个新项目:

lein new protobuf

将目录更改为protobuf,我在/resources/proto/example.proto文件中添加了以下内容:
option java_package = "com.example";

package Example;

message Person {
required int32 id = 1;
required string name = 2;
optional string email = 3;
repeated string likes = 4;
}

我的项目文件如下所示。与上面url中的示例的唯一区别是我将其修改为1.5.1。
(defproject org.flatland/protobuf "0.8.2-SNAPSHOT"
:description "Clojure-protobuf provides a clojure interface to Google's protocol buffers."
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:url "https://github.com/flatland/clojure-protobuf"
:dependencies [[org.clojure/clojure "1.5.1"]
[org.flatland/protobuf "0.7.1"]
[org.flatland/useful "0.11.1"]
[org.flatland/schematic "0.1.2"]
[org.flatland/io "0.3.0"]
[ordered-collections "0.4.2"]]
:plugins [[lein-protobuf "0.1.1"]]
:aliases {"testall" ["with-profile" "dev,default:dev,1.3,default:dev,1.5,default" "test"]}
:profiles {:1.3 {:dependencies [[org.clojure/clojure "1.3.0"]]}
:1.5 {:dependencies [[org.clojure/clojure "1.5.0-master-SNAPSHOT"]]}
:dev {:dependencies [[gloss "0.2.2"]]}}
:repositories {"sonatype-snapshots" {:url "http://oss.sonatype.org/content/repositories/snapshots"
:snapshots true
:releases {:checksum :fail :update :always}}}
:checksum-deps true
:java-source-paths ["src"])

然后我做了一个
lein protobuf

现在我进入REPL
lein repl

我尝试了第一个命令:
(use 'flatland.protobuf.core)

然后我尝试下一行
(import com.example.Example$Person)

然后,该示例的其余部分都可以正常工作。

最佳答案

看来 clojusc/protobuf 是维护得更好的fork。项目自述文件包含一个简单的protobuf示例。它清楚地显示了如何使用protoc编译器和java互操作。

关于适用于protobuf的Clojure示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21691514/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com