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 [...]
Releaseparty at Atlassian? Confluence 3.2 BETA and 3.1.2 with soms bugfixes were released yesterday. [...]
Tino Schmidt's Vortrag zu Enterprise Mashups auf der webciety, 4.3 Remix the Web http://bit.ly/d26rtA [...]
neuer Blogpost: February Cumulative Update (2010) http://bit.ly/cwxZGE [...]
jetzt online! vortrag @jeos zu communote - enterprise #microblogging (ab min. 6:30) http://bit.ly/bONP34 #webciety #cebit [...]
“Generierung von JAXB2-Bindings aus einer DTD mit Maven2”