Heute mussten aus einer existierenden DTD ein paar JAXB2-Binding-Klassen generiert werden. Nach einigem probieren ist dies mit folgender pom.xml und einem passenden Binding-File gelungen.
Hier die pom.xml:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > <modelVersion>4.0.0</modelVersion> <groupId>de.mms-dresden</groupId> <artifactId>hsp-search-gen</artifactId> <version>0.0.1-SNAPSHOT</version> <description>Generierter Code fuer die Suche im Hilfeportal</description> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>jaxb2-maven-plugin</artifactId> <executions> <execution> <goals> <goal>xjc</goal> </goals> </execution> </executions> <configuration> <schemaDirectory>${basedir}/src/main/dtd</schemaDirectory> <dtd>true</dtd> <xmlschema>false</xmlschema> <schemaFiles>FastSearchResult.dtd</schemaFiles> <strict>false</strict> <verbose>true</verbose> <explicitAnnotation>true</explicitAnnotation> <packageName>de.mms_dresden.mip.hsp.base.services.search</packageName> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.5</source> <target>1.5</target> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.0</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-impl</artifactId> <version>2.0.3</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-xjc</artifactId> <version>2.0.3</version> </dependency> </dependencies> </project>
und hier noch das passende File FastSearchResult.xjb:
<?xml version="1.0" encoding="UTF-8"?> <xml-java-binding-schema> <options package="de.mms_dresden.mip.hsp.base.services.search" /> <element name="SEGMENTS" type="class" root="true" /> </xml-java-binding-schema>
Die generierten Klassen landen damit in target/generated-sources/jaxb
[…] dem gestrigen Erfolg folgte heute eine Anforderung, die den Wechsel zu einem anderen Maven2-Plugin und einer neuen […]