Java 设置namespacePrefixMapper以定义前缀映射时发生Jaxb属性异常
我正在尝试设置一个前缀,如下所示Java 设置namespacePrefixMapper以定义前缀映射时发生Jaxb属性异常,java,xml,spring-boot,jaxb,Java,Xml,Spring Boot,Jaxb,我正在尝试设置一个前缀,如下所示 // Create JAXB Context JAXBContext jaxbContext = JAXBContext.newInstance(ResultDetails.class); // Create Marshaller Marshaller jaxbMarshaller = jaxbContext.createMarshaller(); j
// Create JAXB Context
JAXBContext jaxbContext = JAXBContext.newInstance(ResultDetails.class);
// Create Marshaller
Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
jaxbMarshaller.setProperty("com.sun.xml.internal.bind.namespacePrefixMapper", new NamespacePrefixMapper() {
@Override
public String getPreferredPrefix(String namespaceUri, String suggestion, boolean requirePrefix) {
if (TPTConstant.NAMESPACE_SIMPLE_RESULTS.equals(namespaceUri)) {
return "psr";
}
return suggestion;
}
});
但是从setProperty我得到了一个属性异常com.sun.xml.internal.bind.namespacePrefixMapper
我正在使用Java8,并且我已经在依赖项中看到了jaxb api 2.3.1
。我错过了什么
在ResultDetails下,我已经在每个属性级别定义了以下内容
@XmlElement(namespace = "http://www.mycompany.com/services/SimpleResults/data/abc"
当属性名为
com.sun.xml.bind.namespacePrefixMapper
时,这就起作用了