我有不同的服务模式文件(超过5个),我想从其中生成一个使用xmlbean的jar文件。
我正在使用xmlbean插件,如下所示
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>xmlbeans-maven-plugin</artifactId>
<version>${xmlbeans.version}</version>
<executions>
<execution>
<goals>
<goal>xmlbeans</goal>
</goals>
<phase>compile</phase>
</execution>
</executions>
<inherited>true</inherited>
<configuration>
<download>true</download>
<javaSource>${java.version}</javaSource>
<schemaDirectory>src/main/xsd</schemaDirectory>
<xmlConfigs>
<xmlConfig implementation="java.io.File">src/main/xsdconfig/xsdconfig.xml</xmlConfig>
</xmlConfigs>
</configuration>
</plugin>
</plugins>对于不同的服务架构,我希望有不同的包名。如何指定它,以及在何处提供应用包详细信息的架构路径和xsdConfig文件。
请指点。
发布于 2015-05-14 06:58:13
您需要定义以.xsdconfig结尾的文件(例如,myConfig.xsdconfig),以便将每个模式文件中的targetNamespace映射到Java名称。将此.xsdconfig文件与正在编译的相应.xsd文件放在同一个目录中。例如,假设您有以下.xsd文件:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://your.company.org/dileep">
...
</xs:schema>然后按照以下方式定义以下myConfig.xsdconfig文件:
<!-- you must use the http://www.bea.com/2002/09/xbean/config namespace here -->
<xb:config xmlns:xb="http://www.bea.com/2002/09/xbean/config">
<xb:namespace uri="http://your.company.org/dileep"> <!-- map this namespace -->
<xb:package>org.company.your.dileep</xb:package> <!-- to this Java package -->
</xb:namespace>
<!-- more namespace mappings can go here ... -->
</xb:config>还可以控制从每个模式文件中生成的Java类的名称。
您可以在官方XMLBeans文档中阅读更多有关这方面的内容。
https://stackoverflow.com/questions/30230481
复制相似问题