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
时,这就起作用了