gpt4 book ai didi

java - Maven-xmlbeans : working with multiple schema files to generate a single jar file

转载 作者:行者123 更新时间:2023-11-30 08:52:14 25 4
gpt4 key购买 nike

我有不同的服务架构文件(超过 5 个),我想使用 xmlbeans 从中生成一个 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 文件以应用程序包详细信息。

请指教。

最佳答案

您需要定义一个以 .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 类的名称。

您可以在 official XMLBeans documentation 中阅读更多相关信息.

关于java - Maven-xmlbeans : working with multiple schema files to generate a single jar file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30230481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com