Ich versuche, ein paar Wrapper-Funktionen für den Code zu schreiben hereImport Clojure verschachtelte Klassen
es im Grunde die Form (wie im Beispiel Seite angegeben) von
String json = ...
VPackParser parser = new VPackParser.Builder().build();
VPackSlice slice = parser.fromJson(json);
ich weiß, dass Um innere Klassen zu importieren, benutzt man $
, aber jede Kombination der folgenden scheint nicht zu funktionieren.
(ns the.pain.is.real
(:require [clojure.reflect :as r])
(:import
com.arangodb.velocypack.VPackBuilder ;; fine
com.arangodb.velocypack.VPackSlice ;; fine
com.arangodb.velocypack.VPackParser ;; fine
com.arangodb.velocypack.VPack ;; fine
com.arangodb.velocypack.VPackParser$Builder ;; nope
))
Ich bekomme nur eine..
hatte ich mit einem ähnlichen Code gearbeitet, die ich bekommen hatte arbeiten mit: Irgendwelche Ideen
(ns winning
(:import com.arangodb.ArangoDB$Builder))
(.build (-> (new ArangoDB$Builder)
(.host "127.0.0.1" 8529)
(.user username)
(.password password)))
?
in der JAR-Datei suchen
besagencom/arangodb/velocypack/VPackParser$Builder.class
Ist es nur Versuch und Irrtum?
Wenn Sie in die JAR-Datei schauen, sollten Sie in der Lage sein, die genauen Namen der Klassendateien zu sehen. Vielleicht finden Sie dort keinen 'VPackParser $ Builder'. –
@ChrisMurphy - ok. Es sieht also so aus, als gäbe es etwa 20 Klassen namens '' '' com/arangodb/velocypack/VPackBuilder $ 8.class com/arangodb/velocypack/VPackBuilder $ 9.class ... '' ' – beoliver
@ChrisMurphy - aber ich schaute das Falsche :(- Ja, es gibt einen 'com/arangodb/velocypack/VPackParser $ Builder.class' – beoliver