This repository provides generators for creating Java classes out of XSD schema files.
- Create jar resource using
./gradlew clean build - Copy
/generator/build/libs/*.jarinto your project - Use the parser directly or add the Gradle task to your build.gradle(.kts)
You can pull the latest binaries from the central Maven repositories:
with Gradle
implementation("de.alexanderwolz:xsd-generator-client:1.5.3")with Maven
<dependency>
<groupId>de.alexanderwolz</groupId>
<artifactId>xsd-generator</artifactId>
<version>1.5.3</version>
</dependency>Simple schema file generation
val generator = XsdJavaGenerator("build/generated/xjc")
val schema = File(schemaDir, "articleListCollection_v3.xsd")
val bindings = listOf(File(schemaDir, "${schema.nameWithoutExtension}.xjb.xml"))
val episodes = emptyList<File>()
val catalog = null
val createEpisode = true
val flags = Flags.DEFAULTS
val packageName = "com.domain.generated"
generator.generate(listOf(schema), bindings, episodes, catalog, createEpisode, flags, packageName)Recursive auto resolving of nested schema files
val generator = XsdJavaGenerator.create(xjcGenDir, Charsets.UTF_8, customLogger)
generator.generateAutoResolve(
"complexParent_v6.xsd",
schemaFolder,
useFilenameVersions = true,
flags = Flags.values().toList()
)Use as Gradle Task
tasks.register<XsdJavaGeneratorTask>("generateModel") {
outputDir = xjcGenDir
schemas = fileTree(schemaFolder) { include("article_v3.xsd", "complexParent_v6.xsd") }.files
useFilenameVersions = true
flags = Flags.values().toList()
}Made with ❤️ in Bavaria
© 2025, Alexander Wolz