[英]Jaxb: Generating XML with different root element included in class which is being marshalled?
[英]jaxb - marshalled root element with full java package
我正在使用jaxb maven插件進行項目。 (maven 3.2.2,maven-jaxb2-plugin:0.8.1,java8)
我用
<bindingIncludes>
<bindingInclude>...</bindingInclude>
</bindingIncludes>
用於指定生成的類的包,以及
<generateDirectory>${project.build.directory}/generated-sources/xjc-dir
</generateDirectory>
用於指定輸出目錄。
我試圖了解會導致封送員以兩種不同方式工作的原因:
實際:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<com.test.app.Foo>
...
</com.test.app.Foo>
預期:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Foo>
...
</Foo>
完整的Java包僅對根元素可見。
提前致謝
編輯:
生成的代碼
package com.test.app;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
(...)
})
@XmlRootElement(name = "Foo")
public class Foo {
...
}
對於任何看到類似問題的人:
在這種情況下,我使用自己的QName作為參數Foo.class.getName()來創建JAXBElement。
完全刪除JAXBElement並將Foo傳遞給編組可解決此問題,使用Foo.class.getSimpleName()可能也可以
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.