jhipster在解析import jdl时出错

时间:2017-10-11 13:44:21

标签: java jhipster jdl

我使用“http://www.jhipster.tech/jdl-studio/”创建了一个jdl文件,但是当我在jhipster项目中启动导入时出现此错误:

我在jdl Studio中没有错误

Using JHipster version installed locally in current project's node_modules
Executing jhipster:import-jdl jhipster-jdl.jh
Options: 
The jdl is being parsed.
events.js:160
  throw er; // Unhandled 'error' event
  ^

Error: ERROR!
Error while parsing entities from JDL

at Environment.error (D:\workspace\yvidya\node_modules\yeoman-environment\lib\environment.js:157:40)
at error (D:\workspace\yvidya\node_modules\generator-jhipster\generators\generator-base.js:1676:18)
at parseJDL (D:\workspace\yvidya\node_modules\generator-jhipster\generators\import-jdl\index.js:105:26)
at Object.<anonymous> (D:\workspace\yvidya\node_modules\yeoman-generator\lib\index.js:399:25)
at D:\workspace\yvidya\node_modules\run-async\index.js:25:25
at D:\workspace\yvidya\node_modules\run-async\index.js:24:19
at self.env.runLoop.add.completed (D:\workspace\yvidya\node_modules\yeoman-generator\lib\index.js:400:11)
at runCallback (timers.js:672:20)
at tryOnImmediate (timers.js:645:5)
at processImmediate [as _immediateCallback] (timers.js:617:5)

有我的jdl文件

entity Entite {
    nom String required maxlength(100),
    numeroLicence String maxlength(30),
    siret String maxlength(15),
    adresse String maxlength(100),
    adresseComplement String maxlength(100),
    codePostal String maxlength(10),
    ville String maxlength(50)
}

entity TypeEntity {
    nom String required maxlength(30)
}

entity WebService {
    nom String required maxlength(30),
    methode String required maxlength(10)
}

entity Profil {
    nom String required maxlength(20)
}

entity UserFonc {
    nom String required maxlength(30)
}

entity TypeBon {
    nom String required maxlength(15)
}

entity NatureBon {
    nom String required maxlength(15)
}

entity Permission {
}

entity BonSav {
    uuid String required maxlength(40),
    logicielId String required maxlength(40),
    codeMagasin String maxlength(10),
    numeroFournisseur String maxlength(40),
    codeReparation String required maxlength(10),
    libelleReparation Text required,
    dateDepot ZonedDateTime required,
    dateRetrait ZonedDateTime required,
    codeClient String required maxlength(10),
    nomClient String required maxlength(30),
    prenomClient String required maxlength(20),
    emailClient String maxlength(50),
    telephoneClient String maxlength(20),
    photo Blob,
    dateCreation ZonedDateTime required,
    dateModification ZonedDateTime required
}

entity Memo {
    titre String required maxlength(200),
    commentaire Text,
    flagTraiter Boolean,
    dateCreation ZonedDateTime required,
    dateModification ZonedDateTime required
}

relationship ManyToMany {
    Profil{WebService(nom)} to WebService{profil}
}

relationship ManyToMany {
    WebService{TypeEntity(nom)} to TypeEntity{webService}
}

relationship ManyToOne {
    Entite{typeEntity(nom)} to TypeEntity
}

relationship ManyToMany {
    Permission{entite(nom)} to Entite{permission}
}

relationship ManyToOne {
    Permission{profil(nom)} to Profil
}

relationship ManyToOne {
    Permission{UserFonc(nom)} to UserFonc
}

relationship ManyToOne {
    BonSav{entite(nom)} to Entite
}

relationship ManyToOne {
    BonSav{nature(nom)} to NatureBon
}

relationship ManyToOne {
    BonSav{type(nom)} to TypeBon
}

relationship ManyToOne {
    BonSav{destinataire(nom)} to Entite
}

relationship ManyToOne {
    Entite{entiteMere(nom)} to Entite
}

relationship ManyToOne {
    Memo{bonSav} to BonSav
}

relationship ManyToOne {
    Memo{createur(nom)} to UserFonc
}

relationship ManyToOne {
    Memo{modificateur(nom)} to UserFonc
}

relationship ManyToOne {
    BonSav{createur(nom)} to UserFonc
}

relationship ManyToOne {
    BonSav{modificateur(nom)} to UserFonc
}

// Set pagination options
paginate WebService, Profil, NatureBon, TypeBon with infinite-scroll
paginate Entite, TypeEntity, BonSav, Memo, UserFonc, Permission with pagination

dto * with mapstruct

// Set service options to all except few
service all with serviceImpl

你能解析一下这个错误吗?我不明白......

我正在使用jhipster 4.9.0并使用函数import-jdl

由于

文斯

2 个答案:

答案 0 :(得分:3)

您的两个实体(MemoBonSav)使用Text数据类型。这不是有效的JDL数据类型。使用StringTextBlob

答案 1 :(得分:1)

另一个提示,您实际上可以将关系分组在一起:

relationship ManyToOne {
    Memo{modificateur(nom)} to UserFonc
}

relationship ManyToOne {
    BonSav{createur(nom)} to UserFonc
}

relationship ManyToOne {
    BonSav{modificateur(nom)} to UserFonc
}

可以

relationship ManyToOne {
    Memo{modificateur(nom)} to UserFonc
    BonSav{createur(nom)} to UserFonc
    BonSav{modificateur(nom)} to UserFonc
}

将帮助调试我猜:)