JAXB混合插曲和jar文件夹中的xjc:javaType
问题描述:
如果有其他项目依赖的Java库(通过Maven的.jar依赖)。在这个库中有一个XSD文件,它定义了一些xs:simpleType
,它们也用xjc:javaType
元素进行了注释,这些元素将简单类型映射到该库中已有的Java类和适配器类。这一切工作正常,但现在我想创建一个xs:complexType
。我让org.jvnet.jaxb2.maven2:maven-jaxb2-plugin
版本0.8.2从复杂类型和一个附加的.episode文件中创建了一些java bean。JAXB混合插曲和jar文件夹中的xjc:javaType
在我的第二个项目中,我导入库,将xsd文件解压缩到schema目录中,并让project2.xsd导入library.xsd,因为它使用简单和复杂的类型。为了避免已经存在的bean的双重生成,我在org.jvnet.jaxb2.maven2:maven-jaxb2-plugin
的episodes
标记中添加了库文件作为依赖。但是现在插件会抱怨它无法解析xsd文件,并在每种类型的定义行中引发异常。
我认为使用剧集有一些问题(他们不包括simpleTypes?)和xjc:javaType
注释?有没有解决这个问题的方法?关于这个问题,我在网上找不到多少东西。感谢任何提示。
答
我已经使用maven-hyperjaxb3-插件 检查达到同样的事情怎么做:
<plugin>
<groupId>org.jvnet.hyperjaxb3</groupId>
<artifactId>maven-hyperjaxb3-plugin</artifactId>
<version>0.5.4</version>
<executions>
<execution>
<id>id1</id>
<inherited>false</inherited>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<args>
<param>-npa</param>
</args>
<generateDirectory>target/generated-sources/xjc2</generateDirectory>
<generatePackage>com.target.package</generatePackage>
<extension>true</extension>
<schemaIncludes>
<include>mine.xsd</include>
</schemaIncludes>
<forceRegenerate>false</forceRegenerate>
<removeOldOutput>true</removeOldOutput>
<verbose>true</verbose>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.1.12</version>
</dependency>
</dependencies>
</plugin>
这里的项目依赖:
<dependencies>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.1.12</version>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.1</version>
</dependency>
<dependency>
<groupId>org.jvnet.hyperjaxb3</groupId>
<artifactId>hyperjaxb3-ejb-runtime</artifactId>
<version>0.3</version>
</dependency>
<!-- Roundtrip -->
<dependency>
<groupId>org.jvnet.hyperjaxb3</groupId>
<artifactId>hyperjaxb3-ejb-roundtrip
</artifactId>
<version>0.3</version>
</dependency>
</dependencies>
我有什么样的简单并定义了复杂的类型,它的作用就像一个魅力。 希望它有帮助!