无法让MOXy(JAXB)在我的应用程序中工作

时间:2013-11-04 03:53:41

标签: java jaxb moxy

我尝试使用MOXy的ObjectGraph功能将类字段的子集编组为xml字符串。我做了以下事情:

  1. eclipselink.jar放入类路径
  2. 创建了一个jaxb.properties文件,其内容为javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory,并将其放在与我想要编组或解组的域类相同的包中。
  3. 我在域类中编写了一个方法,它将字段子集编组为xml字符串。我在类main()方法中调用了此方法,并得到了正确的结果。

    我的应用程序位于ear文件中,域类打包在model.jar文件中。编组方法由位于同一jar文件中的服务类调用。在我部署到WebLogic服务器并运行使用此编组功能的函数后,我总是在该行中获得异常:

    marshaller.setProperty(MarshallerProperties.OBJECT_GRAPH, "dbstring"); 
    

    基本上我无法设置此OBJECT_GRAPH属性,并且无法获得正确的编组结果。但是,如果我在model.jar中运行域类,那很好。

    有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:0)

我们在EclipseLink 2.5.0中引入了对象图功能(参见:http://blog.bdoughan.com/search/label/Object%20Graphs)。 EclipseLink MOXy是WebLogic中的默认JAXB提供程序(截至12.1.1,请参阅:http://blog.bdoughan.com/2011/12/eclipselink-moxy-is-jaxb-provider-in.html)但截至今天(2013年11月7日),此版本的EclipseLink尚未包含在WebLogic的发行版中。以下文章将帮助您在WebLogic中使用较新版本的EclipseLink。