【发布时间】:2013-07-05 11:05:29
【问题描述】:
我在 DTO 类中遇到循环错误,因此决定实施 MOXy 以摆脱它。我按照以下步骤实施 MOXy:
从 [http://www.eclipse.org/eclipselink/downloads/nightly.php] 下载 EclipseLink
将所有 JAR 从 /eclipselink/jlib 文件夹复制到我的 /WEB-INF/lib
-
为了将 EclipseLink MOXy 指定为 JAXB 提供程序,在所有类都存在的文件夹中创建了一个 jaxb.properties 文件,其中包含以下条目 -
javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory
我在我的 dto 类中使用 @XmlElement 和 @XmlInverseReference 注释,但在运行我的应用程序时出现以下错误:
javax.ws.rs.WebApplicationException: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions, Class has two properties of the same name "application"
this problem is related to the following location:
at public thbs.provisioning.dto.ApplicationDTO thbs.provisioning.dto.EnvironmentDTO.getApplication()
at thbs.provisioning.dto.EnvironmentDTO
at public java.util.Set thbs.provisioning.dto.ApplicationDTO.getEnvironment()
at thbs.provisioning.dto.ApplicationDTO
this problem is related to the following location:
at private thbs.provisioning.dto.ApplicationDTO thbs.provisioning.dto.EnvironmentDTO.application
at thbs.provisioning.dto.EnvironmentDTO
at public java.util.Set thbs.provisioning.dto.ApplicationDTO.getEnvironment()
at thbs.provisioning.dto.ApplicationDTO
【问题讨论】:
-
请帮帮我,我被困住了。这个 MOXy 东西对任何人有用吗?
-
你使用的是哪个应用服务器?
-
@BlaiseDoughan 我正在使用 Tomcat7 服务器。我能够在我的应用程序中包含 MOXy,但它没有给我正确的输出。我已经关注了您实现 XmlInverseReference 注释的两个链接:1 (blog.bdoughan.com/2013/03/…)、2) (stackoverflow.com/questions/3313454/…)。但是,我仍然得到错误的输出。我在问题中添加了 xml 响应。请看一下
-
@BlaiseDoughan 在上面的两个链接中,您遵循了两种不同的方式来实现 XmlInverseReference 元素。你能告诉我哪个是正确的方法吗?
-
两种方式都是正确的,这完全取决于您是否希望映射在两个方向上都是可写的。我添加了解决错误输出的答案:我添加了更正输出的答案:stackoverflow.com/a/17545727/383861。对于新问题,打开新问题比添加到现有问题更容易。
标签: java xml hibernate jaxb moxy