2017-10-14 5 views
1

ich erstelle Datei mit JDL Studio ohne Fehler, aber wenn ich die Datei mit jhipster cli importieren habe ich folgende Fehlermeldung:Fehler beim JDL-Datei Parsen

 
Using JHipster version installed locally in current project's node_modules Executing jhipster:import-jdl ./thearthacker-jdl.jh 
Options: 
The jdl is being parsed. 
events.js:182 
     throw er; // Unhandled 'error' event 
    ^
Error: ERROR! 
Error while parsing entities from JDL 
    at Environment.error (E:\web_project\_PROJECT\thearthackers\node_modules\yeoman-environment\lib\environment.js:140:40) 
    at constructor.error (E:\web_project\_PROJECT\thearthackers\node_modules\generator-jhipster\generators\generator-base.js:1686:18) 
    at constructor.parseJDL (E:\web_project\_PROJECT\thearthackers\node_modules\generator-jhipster\generators\import-jdl\index.js:108:22) 
    at Object. (E:\web_project\_PROJECT\thearthackers\node_modules\yeoman-generator\lib\index.js:417:23) 
    at E:\web_project\_PROJECT\thearthackers\node_modules\run-async\index.js:25:25 
    at Promise() 
    at E:\web_project\_PROJECT\thearthackers\node_modules\run-async\index.js:24:19 
    at E:\web_project\_PROJECT\thearthackers\node_modules\yeoman-generator\lib\index.js:418:9 
    at runCallback (timers.js:781:20) 
    at tryOnImmediate (timers.js:743:5) 

und das ist meine JDL-Datei:

entity Video { 
    name String required, 
    type String required, 
    url String required, 
    quality String, 
    description String required, 
    submissionDate ZonedDateTime required 
} 
entity Picture { 
    name String required minlength(3), 
    type String required, 
    url String required, 
    size String, 
    description String, 
    submissionDate ZonedDateTime required 
} 

entity Blog { 
    name String required minlength(3), 
} 

entity Entry { 
    title String required, 
    content String required, 
    date ZonedDateTime required 
} 

entity Tag { 
    name String required minlength(2) 
} 


relationship ManyToMany { 
    Entry{tag(name)} to Tag{entry} 
} 

relationship ManyToMany { 
    Picture{tag(name)} to Tag{Picture} 
} 

relationship ManyToMany { 
    Video{tag(name)} to Tag{Video} 
} 

relationship ManyToMany { 
    Blog{tag(name)} to Tag{Blog} 
} 

relationship ManyToMany { 
    User{tag(name)} to Tag{User} 
} 

relationship ManyToOne { 
    Video{video} to User 
} 

relationship ManyToOne { 
    Picture{video} to User 
} 

relationship ManyToOne { 
    Blog{video} to User 
} 

relationship ManyToOne { 
    Entry{video} to Blog 
} 

paginate Entry, Tag with infinite-scroll 

dto * with mapstruct 

eine Idee?

danke für Hilfe.

Antwort

3

Ich habe gerade versucht, Ihre JDL und hatte diese Fehlermeldung:

IllegalAssociationException: Relationships from User entity is not supported in the declaration between User and Tag. 

Bitte beachten Sie, dass ich den aktuellen Entwicklungszweig bin mit, so habe ich eine Fehlermeldung, die Sie haben wahrscheinlich nicht (Sie don Gib deine Versionsnummer an, aber das wurde erst kürzlich verbessert.

Dies bedeutet, dass Sie keine Beziehungen von der Entität User ausführen können, da sie nicht von der JDL geändert werden kann - dies ist spezifisch für die Entität User. Sie finden weitere Informationen on the relationships documentation.

Hierfür gibt es mehrere Lösungen: Sie können eine Eins-zu-Eins-Beziehung zum Benutzer erstellen und eine andere Entität verwenden, die Sie über das JDL verwalten. Oder Sie können die Benutzer-Entität manuell ändern (manche Leute unterteilen sie und arbeiten an der Unterklasse, um den Benutzer nicht zu ändern).

+0

Ok, ich entferne die Beziehung vom Benutzer und es funktioniert. Tatsächlich habe ich nicht die Fehlermeldung, also war es schwierig zu debuggen. –