Java websphere中的Jaxb

Java websphere中的Jaxb,java,tomcat,jaxb,websphere,Java,Tomcat,Jaxb,Websphere,您好,我已经使用JAXB开发了用于marshall和unmarshall的web应用程序。web应用程序在tomcat中工作,没有任何问题。但是当我尝试在WebSphere7.0.0.13中返回空对象时,请在这个问题上帮助我 我也有同样的问题。下面是帮助我的解决方案。 我所做的: 1.在管理控制台中,单击应用程序>应用程序类型>WebSphere企业应用程序>应用程序名称>类加载和更新检测。 2.在类重载选项下,选择覆盖web和EJB模块的类重载设置 3.在“类加载器顺序”下,选择“类加载器顺序

您好,我已经使用JAXB开发了用于marshall和unmarshall的web应用程序。web应用程序在tomcat中工作,没有任何问题。但是当我尝试在WebSphere7.0.0.13中返回空对象时,请在这个问题上帮助我

我也有同样的问题。下面是帮助我的解决方案。

我所做的:
1.在管理控制台中,单击应用程序>应用程序类型>WebSphere企业应用程序>应用程序名称>类加载和更新检测。
2.在类重载选项下,选择覆盖web和EJB模块的类重载设置
3.在“类加载器顺序”下,选择“类加载器顺序”属性,以首先(最后)使用本地类加载器加载类
4.单击确定,然后单击保存以保存更改

之后:
1.在管理控制台中选择服务器
2.展开服务器类型并选择*WebSphere application servers*
3.单击服务器的名称
4.展开Java和流程管理并选择*流程定义。*
5.在附加属性部分下,单击Java虚拟 机器
6.向下滚动并找到通用JVM参数的文本框
添加:-Djavax.xml.bind.JAXBContext=com.sun.xml.internal.bind.v2.ContextFactory


最后,重新启动web服务器和集群。

WebSphereApplicationServerV7+包含一个优化的JAXB实现,通常会使用它来代替内置在JavaSDK中的JAXB实现。如果您注意到WebSphere和Tomcat(或其他运行时)之间的行为差异会影响您的应用程序,作为一种解决方法,您通常可以通过在WebSphere中设置系统属性
com.ibm.xml.xlxp.jaxb.opti.level=0
来解决此问题。使用此设置将导致JAXB引用实现用于解组和编组,而不是WebSphere JAXB实现

有关
com.ibm.xml.xlxp.jaxb.opti.level
系统属性的更多信息可用。

为什么“覆盖web和EJB模块的类重新加载设置”。我通过在类上注释字段类型修复了一个问题。谢谢你的关心。快乐编码!