gpt4 book ai didi

java - JAXB schemagen 不引用剧集文件中的类

转载 作者:搜寻专家 更新时间:2023-10-30 23:02:17 25 4
gpt4 key购买 nike

我实际上使用的是架构优先方法,但是我遇到了“不祥”的障碍 JAXB Map problem !并通过为此切换到代码优先方法来解决它。现在我想在其他模块中重用这种类型,并通过从生成的模式创建剧集文件来继续我的模式优先方法。不幸的是,生成的剧集文件是空的。这是我尝试过的:

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<id>schemagen</id>
<goals>
<goal>schemagen</goal>
</goals>
<phase>generate-sources</phase>
</execution>
</executions>
<configuration>
<outputDirectory>${project.build.outputDirectory}</outputDirectory>
<generateEpisode>true</generateEpisode>
<transformSchemas>
<transformSchema>
<uri>http://some/schema/types</uri>
<toPrefix>core</toPrefix>
<toFile>core-types.xsd</toFile>
</transformSchema>
</transformSchemas>
</configuration>
</plugin>

这为我生成了以下架构:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:core="http://some/schema/types" targetNamespace="http://some/schema/types" version="1.0">
<xs:element name="Map" type="core:MapType"/>

<xs:complexType name="MapType">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="entries" nillable="true" type="core:EntryType"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="EntryType">
<xs:sequence>
<xs:element name="key" type="xs:anyType"/>
<xs:element name="value" type="xs:anyType"/>
</xs:sequence>
</xs:complexType>
</xs:schema>

以及包含此内容的剧集文件:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns1:bindings version="2.1" xmlns:ns1="http://java.sun.com/xml/ns/jaxb"/>

我尝试使用 schemagen standalone(版本 2.2.11)得到类似的结果。 https://jaxb.java.net/2.2.4/docs/schemagen.html 处的文档和 http://www.mojohaus.org/jaxb2-maven-plugin/Documentation/v2.2/schemagen-mojo.html接缝表明这应该是它,但我无法弄清楚我做错了什么。

最佳答案

我解决了问题...按照上面的操作:

    <plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<id>schemagen</id>
<goals>
<goal>schemagen</goal>
</goals>
**<phase>generate-sources</phase>**
</execution>
</executions>

<configuration>

**<xsdPathWithinArtifact>generated/xsds</xsdPathWithinArtifact>**

</configuration>


</plugin>

关于java - JAXB schemagen 不引用剧集文件中的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36714142/

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