我正在使用JAXB插件,需要为至少几十个模式生成类。如何动态创建与每个模式对应的包?
schema 1 -> package x.y.z.schema1
schema 2 -> package x.y.z.schema2..... 在Maven插件中提到的样式会让你的pom.xml变得非常混乱。
JAXb2建议帮助页:
<execution>
<id>xjc-schema1</id>
<goals>
<goal>xjc</goal>
</goals>
<configuration>
<schemaFiles>schema1.xsd</schemaFiles>
<packageName>com.example.foo</packageName>
</configuration>
</execution>
<execution>
<id>xjc-schema2</id>或者,我认为一种解决方法是将此配置存储在单独的xml文件中,但我不知道如何将其包含在maven中。
发布于 2015-05-08 21:54:42
你有没有尝试使用绑定文件?我过去常常使用绑定文件这样做:
<?xml version="1.0"?>
<jaxb:bindings xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
xmlns:inheritance="http://jaxb2-commons.dev.java.net/basic/inheritance"
jaxb:extensionBindingPrefixes="inheritance" jaxb:version="2.1">
<jaxb:bindings schemaLocation="../xsd/mySchema1.xsd"
node="/xsd:schema">
<jaxb:schemaBindings>
<jaxb:package name="my.package.schema1" />
</jaxb:schemaBindings>
</jaxb:bindings>
<jaxb:bindings schemaLocation="../xsd/mySchema2.xsd"
node="/xsd:schema">
<jaxb:schemaBindings>
<jaxb:package name="my.package.schema2" />
</jaxb:schemaBindings>
</jaxb:bindings>
</jaxb:bindings>以便在pom中仅指定所有XSD文件夹和绑定文件的路径
https://stackoverflow.com/questions/24880286
复制相似问题