簡體   English   中英

jaxb-具有完整Java包的封送根元素

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM