![](/img/trans.png)
[英]How to generate JAXB classes using XJC using some existing Java classes?
[英]JAXB XJC: how to generate java classes
我正在嘗試使用xjc
工具,以便根據某些模式生成Java代碼。
我正在執行以下命令:
xjc -d generated -p net.mycom.tech .
第一個問題是
-b bindings.xjb
是什么意思? 它必須具有哪些內容? 它是強制性的嗎? 我收到以下兩種錯誤消息:
一種。 [ERROR] Two declarations cause a collision in the ObjectFactory class.
b。 A class/interface with the same name "net.mycom.tech.DatosGenericos" is already in use. Use a class customization to resolve this conflict.
我的文件夾包含幾個xsd:
請幫忙嗎?
對於XJC編譯器, -b用於外部JAXB綁定,它將覆蓋默認規則。 例如,下面是一個小片段。 該文件的名稱是mybind.xjb 。
<jaxb:bindings version="2.0" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
jaxb:extensionBindingPrefixes="xjc">
<jaxb:globalBindings>
<xjc:simple />
<xjc:serializable uid="-1" />
<jaxb:javaType name="java.util.Calendar" xmlType="xs:dateTime"
parse="javax.xml.bind.DatatypeConverter.parseDateTime"
print="javax.xml.bind.DatatypeConverter.printDateTime" />
</jaxb:globalBindings>
</jaxb:bindings>
在這種情況下,上述mybind.xjb會將 dateTime類型覆蓋為java.util.Calendar類型
有關更多詳細信息,您可以參考下面的oracle文檔鏈接。 https://docs.oracle.com/cd/E17802_01/webservices/webservices/docs/1.5/tutorial/doc/JAXBUsing4.html
就錯誤而言,我建議將類生成到一個空的新目錄。 您必須使用以下命令
xjc -d src -p com.projectname.place.functionality xmlSchema.xsd
在上述情況下,請確保目錄src不包含任何Java文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.