The question is published on by Tutorial Guruji team.
I am using Spring maven plugin, I want to create POJO classes from specified xml schema in particular folder. I tried with xjc
command through java code, but its not generating that classes. secondly, I tried with jaxb
, but its dealing with xml
file not a xsd
schema while marshell/unmarshelling. I think this not a way to create POJO from xsd
.
What is a correct way to generate classes from xsd in java?
below is XSD
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="Employee"> <xs:complexType> <xs:sequence> <xs:element name="empId" type="xs:long"/> <xs:element name="lastName" type="xs:string"/> <xs:element name="title" type="xs:string"/> <xs:element name="salary" type="xs:integer"/> <xs:element name="address"> <xs:complexType> <xs:sequence> <xs:element name="city" type="xs:string"/> <xs:element name="street" type="xs:string"/> <xs:element name="zipcode" type="xs:integer"/> <xs:element name="privatePhoneNo"> <xs:complexType> <xs:sequence> <xs:element name="privateMobile" type="xs:string"/> <xs:element name="privateLandline" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
Answer
My recommendation is to go with
JAXB
.
I have tested it in eclipse
, works well for me. My suggestion is try generating the POJO from command line
or with the help of eclipse
. Once successful configure it with maven
to generate the POJO build time
.
There are several tutorials to learn this, please follow the below link(s) based upon your preference:
- Generate POJO Class from XSD in Eclipse
- Generate POJO class from XSD Schema command line
- Generate POJO Classes from XSD using
XJC
Maven Plugin
Also the youtube links:
I hope it helps!
Feel free to comment if you encounter any issue.