Castor Maven Plugin

The Castor plugin is a Maven plugin that provides the functionality of Castor XML's code generator for generating Java beans and associated descriptor classes (required for marshalling to and unmarshalling from XML documents) from XML Schema files.

Please note that starting with version 2.0 of this plugin, Castor 1.3 is introduced as dependency, and as such Java 1.4 will not be supported anymore. If you require to execute this plugin on Java 1.4, please use version 1.5 of this plugin.

Goals Overview

General information about the goals.

  • castor:generate A mojo that uses Castor XML and its source code generator to generate a collection of Java beans from an (set of) XML schema(s).
  • castor:mapping A mojo that uses Castor XML's MappingTool to generate a default mapping file (template) from a single Java class.
  • castor:mappings A mojo that uses Castor XML's MappingTool to generate a default mapping file (templates) from a set of Java classes.
  • castor:dtdToXsd A mojo that uses Castor XML's DTD to XML schema converter to convert a DTD document to a corresponding XML schema document.


General instructions on how to use the Castor Plugin can be found on the usage page. Some more specific use cases are described in the examples given below. Last but not least, users occasionally contribute additional examples, tips or errata to the plugin's wiki page.

In case you still have questions regarding the plugin's usage, please have a look at the FAQ and feel free to contact the user mailing list. The posts to the mailing list are archived and could already contain the answer to your question as part of an older thread. Hence, it is also worth browsing/searching the mail archive.

If you feel like the plugin is missing a feature or has a defect, you can fill a feature request or bug report in our issue tracker. When creating a new issue, please provide a comprehensive description of your concern. Especially for fixing bugs it is crucial that the developers can reproduce your problem. For this reason, entire debug logs, POMs or most preferably little demo projects attached to the issue are very much appreciated. Of course, patches are welcome, too. Contributors can check out the project from our source repository and will find supplementary information in the guide to helping with Maven.


To provide you with better understanding of some usages of the Castor Plugin, you can take a look into the following examples: