2017-10-14 14 views
1

Je crée le fichier avec le studio JDL sans erreur, mais quand j'importer le fichier avec cli jhipster Je l'erreur suivante:Erreur lors de l'analyse du fichier JDL

 
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) 

et ceci est mon fichier JDL:

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 

une idée?

merci pour votre aide.

Répondre

3

Je viens d'essayer votre JDL et avait ce message d'erreur:

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

S'il vous plaît noter que j'utilise la branche de développement actuel, j'ai donc un message d'erreur que vous n'avez probablement pas (vous n ne donnez pas votre numéro de version, mais cela a été amélioré très récemment). Cela signifie que vous ne pouvez pas faire de relations à partir de l'entité User, car elle ne peut pas être modifiée par le JDL, ce qui est spécifique à l'entité User. Vous pouvez trouver plus d'informations on the relationships documentation.

Il existe plusieurs solutions à cela: vous pouvez établir une relation un-à-un avec l'utilisateur et avoir une autre entité que vous gérez via le JDL. Ou vous pouvez modifier l'entité Utilisateur manuellement (certaines personnes la sous-classent et travaillent sur la sous-classe, afin de ne pas changer l'Utilisateur).

+0

Ok, je supprime relation de l'utilisateur et cela fonctionne. En effet, je n'ai pas le message d'erreur donc il était difficile de déboguer. –