Java 也从外部类生成XSD而不导入
我正在使用Java 也从外部类生成XSD而不导入,java,xml,maven,xsd,jaxb,Java,Xml,Maven,Xsd,Jaxb,我正在使用com.sun.tools.jxc.maven2:maven-jaxb-schemagen-plugin从项目中的各种POJO类生成XSD文件。这可以很好地工作并创建文件A.xsd 其中一个文件引用了外部包中的枚举,我无法控制该文件,也无法更改该文件。该枚举没有指定名称空间或任何类型的注释 生成工作正常,但它为我的命名空间生成文件A.xsd,并为枚举生成文件schema2.xsd,然后将其导入A.xsd 由于我将不介绍的原因,我只能有一个XSD文件,因此我需要将枚举也生成到A.XSD
com.sun.tools.jxc.maven2:maven-jaxb-schemagen-plugin
从项目中的各种POJO类生成XSD文件。这可以很好地工作并创建文件A.xsd
其中一个文件引用了外部包中的枚举,我无法控制该文件,也无法更改该文件。该枚举没有指定名称空间或任何类型的注释
生成工作正常,但它为我的命名空间生成文件A.xsd
,并为枚举生成文件schema2.xsd
,然后将其导入A.xsd
由于我将不介绍的原因,我只能有一个XSD文件,因此我需要将枚举也生成到A.XSD
下面是我用于此目的的pom.xml
代码:
<plugins>
<plugin>
<groupId>com.sun.tools.jxc.maven2</groupId>
<artifactId>maven-jaxb-schemagen-plugin</artifactId>
<version>${maven-jaxb-schemagen-version}</version>
<inherited>false</inherited>
<executions>
<execution>
<phase>generate-resources</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<destdir>${basedir}/src/main/resources/xsds</destdir>
<srcdir>${basedir}/src/main/java/domain;${basedir}/src/main/java/enums</srcdir>
<includes>
<include>*.java</include>
</includes>
<verbose>true</verbose>
<schemas>
<schema>
<namespace>http://www.w3.org/2001/XMLSchema/A</namespace>
<file>A.xsd</file>
</schema>
</schemas>
</configuration>
<dependencies>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-xjc</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-xjc</artifactId>
<version>2.2</version>
</dependency>
</dependencies>
</plugin>
</plugins>
上述措施都不起作用
我如何实现所需的行为
<schema>
<namespace>*</namespace>
<file>A.xsd</file>
</schema>
<schema>
<namespace>http://www.w3.org/2001/XMLSchema</namespace>
<file>A.xsd</file>
</schema>
<schema>
<namespace>http://www.w3.org/2001/XMLSchema/*</namespace>
<file>A.xsd</file>
</schema>
<schema>
<namespace>http://www.w3.org/2001/XMLSchema</namespace>
<file>A.xsd</file>
</schema>