我使用XJC從HTNG Payment Systems模式生成Java類,可在this zip的/ schemas目錄中找到。爲什麼更改傳遞給XJC的包名稱會中斷JAXB生成?
如果我不通過-p
參數運行XJC,代做工精細,和類的org.htng._2009b
包下產生:
$ cd schemas
$ xjc -mark-generated -no-header -target 2.1 -npa .
所有我想要做的是改變生成的類的東西的包名更多適合的項目,例如com.justin.htng
:
$ cd schemas
$ xjc -mark-generated -no-header -target 2.1 -npa -p com.justin.htng .
但是,這樣做打破JAXB代壯觀,幾乎每一個元素上扔衝突錯誤。我可以通過第一種方法生成類,然後將它們重構爲com.justin.htng
包,但這不是很好維護,並且不能很好地連接到maven-jaxb2插件。
有人可以解釋爲什麼會發生這種情況嗎?是否有辦法用XJC解決這個問題?我覺得如果JAXB通過第一種方法工作,它應該通過第二種方法工作,因爲所有需要完成的操作都是對包名進行簡單的String替換。我想我可以使用第二種方法,並通過一個.xjb綁定文件來處理所有的碰撞,但考慮到錯誤的數量,這將是單調乏味的。
謝謝,你是對的!我忽略了/生成的文件夾中的代碼(或者可能錯誤地認爲它是中間的工件)。 –