我需要在命名空间中使用自定义前缀,我使用下面的代码
marshaller.setProperty("com.sun.xml.internal.bind.namespacePrefixMapper", new NamespacePrefixMapper() {
@Override
public String getPreferredPrefix(String arg0, String arg1, boolean arg2) {
return "tf";
}
});
但是,它仍然给了我propertexception
,经过分析我发现我使用的marshaller和jaxbcontent来自weblogic.But的javaee.jar,我想从java 1.6开始。
我试图在我的weblogic启动中指定它。但是没用...... !!
我错过了什么.. !!
如何提及java从它自己的rt.jar中获取它而不是weblogic的javaee.jar?
答案 0 :(得分:0)
自己找到解决方案。
在运行时,创建的jaxbcontext来自weblogic的glassfish jar。
当我避免我的应用程序访问它时,它花了java jdk的常规rt.jar并成功生成了前缀。