我正在尝试从xsd编译一个xmlbeans jar。 xsd是从供应商提供给我的,所以我不能改变它。 name属性“CON”导致XML bean抛出异常,如下所示: 线程“main”中的异常org.apache.xmlbeans.SchemaTypeLoaderException ....(系统找不到指定的路径)。如果我将标记属性更改为“CON1”,则问题会解决,因此它肯定是关于它不喜欢的字符串CON的。有没有解决这个问题。我提供了一个简化版本的模式,我将其用于测试目的作为参考:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="CON">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element name="TEXT" type="TEXT" minOccurs="0"
maxOccurs="1"/>
<xs:element name="VALUE" minOccurs="1" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="2"/>
<xs:maxLength value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:simpleType name="TEXT">
<xs:restriction base="xs:string">
<xs:minLength value="0"/>
<xs:maxLength value="1023"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
答案 0 :(得分:1)
这是XMLBeans中的已知错误:XMLBEANS-352
scomp
尝试创建文件... \ classes \ schemaorg _apache_xmlbeans \ javaname \ noNamespace \ CONDocument \ CON \ VALUE.xsb此操作失败。目录名CON
被禁止,因为CON
是Windows计算机上的保留设备名称。
提供将元素映射到另一个名称的.xsdconfig
文件不起作用。我试过了。
在linux中编译模式并报告复制生成的jar是唯一的解决方案。