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