2016-05-04 11 views
1

Ich verwende DSL-Json und möchte ein Klassenobjekt mit serialize() von DSlJson serialisieren. Ich habe Mono auf MAC installiert, damit ich während des Builds nichts vermisse. Die Maven Build hängt die meiste Zeit, und ich sehe die folgenden Fehler:DSL-Json @compiledJson Bean Instanziierungsfehler

/Users/<workspace_path>/DSLIntegration/target/classes/dsl_json/json/ExternalSerialization.java:[869,81] a.b.c.Example.Model.**Abstract is abstract; cannot be instantiated** 
/Users/<workspace_path>/DSLIntegration/target/classes/dsl_json/json/ExternalSerialization.java:[877,73] a.b.c.Example.Model.**Abstract is abstract; cannot be instantiated** 

ich den gleichen Code bin mit wie im Github Link DSL-Json gegeben: [https://github.com/ngs-doo/dsl-json]

Kann jemand bitte helfen lösche ich diesen Fehler? Dank

Antwort

0

So scheint es, dass

public Abstract abs; 

Sie Trauer gibt. Dies ist möglicherweise nur möglich, wenn Sie nicht über den neuesten Compiler für die Datenbindung verfügen. Wenn dies der Fall ist, versuchen Sie, diese Eigenschaft zu kommentieren (und den Code zu bereinigen, der darauf verweist), um zu sehen, ob es ohne abstrakte Klassenfunktion funktioniert (dies sollte in wirklich alten Versionen unterstützt werden).

Wenn es in diesem Fall funktioniert, hat Maven wahrscheinlich den neuesten Compiler nicht herunterladen (es sollte das tun, wenn nicht anders angegeben).

Sie können es manuell aus herunterladen: mit

<configuration> 
    <annotationProcessors> 
    <annotationProcessor>com.dslplatform.json.CompiledJsonProcessor</annotationProcessor> 
    </annotationProcessors> 
    <compilerArguments> 
    <Adsljson.compiler>path_to_compiler/dsl-compiler.exe</Adsljson.compiler> 
    </compilerArguments> 
</configuration> 

https://compiler.dsl-platform.com:8443/platform/download/dsl-compiler.zip

und geben Sie es in pom.xml Wenn Sie eine falsche Pfad angeben, Maven mit einer Aufforderung blockiert, so sollten Sie es versuchen aus Konsole zuerst.

Ich konnte Ihr Problem auf MAC nicht reproduzieren, aber ich fügte detaillierte Protokollierungsoption für das Debuggen solcher Probleme hinzu. Versuchen Sie, die Prozessorabhängigkeit auf v0.9 zu aktualisieren und aktivieren Sie die DEBUG-Protokollierung für detaillierte Informationen: Beachten Sie, dass die Javac-Ausgabe in Maven nicht sichtbar ist. Versuchen Sie also, sie in IntelliJ zu kompilieren, die die javac-Ausgabe anzeigt.

+0

Hallo, ich war in der Lage, den obigen Fehler zu beheben, aber jetzt bekomme ich ** nicht in der Lage, bereitgestellten Objekt zu serialisieren. Fehler beim Suchen des Serialisierers für: class java.lang.Class **. ExternalSerialization.java wird generiert und mvn build ist erfolgreich – user2340345

+0

Sie erhalten das für Vanille Beispiel oder für Ihren benutzerdefinierten Code? Zeigen Sie den Code, wenn es etwas Brauchbares ist. –

+0

Für benutzerdefinierten Code - bitte beziehen Sie sich auf diese Frage - http://stackoverflow.com/questions/37122711/resdsl-json-with-resteasy-getting-nomessagebodywriterfoundfailure-error?noredirect=1#comment61806001_37122711 – user2340345