2013-06-26 41 views
0

我有一個包含以下條目的xsd:上運行XSD XJC,但類不產生

<xsd:simpleType name="Percentage"> 
    <xsd:restriction base="xsd:decimal"> 
     <xsd:minInclusive value="0"/> 
     <xsd:maxInclusive value="1"/> 
    </xsd:restriction> 
</xsd:simpleType> 

但是當我在此XSD運行XJC我沒有一流的百分比創建。我該怎麼做,它將如何工作。我正在用CXF編寫Java代碼第一個Web服務。 問候

回答

0

你必須創建一個綁定文件,迫使簡單類型生成: http://docs.oracle.com/cd/E17802_01/webservices/webservices/docs/1.5/tutorial/doc/JAXBUsing4.html 你應該嘗試javaType聲明。

我不僅沒有枚舉過,所以我可以給你一個例子:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<jaxb:bindings xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" 
    xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:annox="http://annox.dev.java.net" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/jaxb http://java.sun.com/xml/ns/jaxb/bindingschema_2_0.xsd" 
    version="2.1"> 
    <jaxb:bindings schemaLocation="schema.xsd" node="/xs:schema"> 
     <jaxb:bindings node="//xs:complexType[@name='sometype']//xs:element[@name='Percentage']/xs:simpleType"> 
      <jaxb:typesafeEnumClass name="Percentage"></jaxb:typesafeEnumClass> 
     </jaxb:bindings> 
    </jaxb:bindings> 
</jaxb:bindings> 

如果您正在使用maven,你應該將這些行添加到JAXB插件的配置:

<bindingDirectory>src/main/schema</bindingDirectory> 
<bindingIncludes> 
    <include>**/*.xjb</include> 
</bindingIncludes> 
+0

好吧,我用綁定運行xjc命令:

+0

對我來說很好:)這樣不管用?然後將此代碼添加到問題中... –