我正在使用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 {
...
}
答案 0 :(得分:0)
对于任何人看到类似的问题:
在这种情况下,我使用自己的QName创建JAXBElement作为参数之一Foo.class.getName()
完全删除JAXBElement并将Foo传递给marshaller解决了这个问题,使用Foo.class.getSimpleName()可能也可以正常工作