这个是我写的类
package com.traffic.rest.data.bean;
import java.util.List;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name="rtime")
public class RTime {
@XmlAttribute
private String ts;
@XmlElement
private List<TimeSegment> segmentList;
public String getTs() {
return ts;
}
public void setTs(String ts) {
this.ts = ts;
}
public List<TimeSegment> getSegmentList() {
return segmentList;
}
public void setSegmentList(List<TimeSegment> segmentList) {
this.segmentList = segmentList;
}
}
package com.traffic.rest.data.bean;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class TimeSegment {
@XmlAttribute
private int id;
@XmlElement
private byte vol;
@XmlElement
private byte spd;
@XmlElement
private byte cgt;
public byte getVol() {
return vol;
}
public void setVol(byte vol) {
this.vol = vol;
}
public byte getSpd() {
return spd;
}
public void setSpd(byte spd) {
this.spd = spd;
}
public byte getCgt() {
return cgt;
}
public void setCgt(byte cgt) {
this.cgt = cgt;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String toString() {
String s = "id:" + this.id + ",vol:" + this.vol +",speed:" + this.spd +",congest:" +this.cgt;
return s;
}
}
当我运行时,出现如下错误,但是如果我去掉所有的get方法,就可以得到,请问这是什么问题,谢啦
javax.ws.rs.WebApplicationException: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 6 counts of IllegalAnnotationExceptions
Class has two properties of the same name "segmentList"
this problem is related to the following location:
at public java.util.List com.traffic.rest.data.bean.RTime.getSegmentList()
at com.traffic.rest.data.bean.RTime
this problem is related to the following location:
at private java.util.List com.traffic.rest.data.bean.RTime.segmentList
at com.traffic.rest.data.bean.RTime
Class has two properties of the same name "ts"
this problem is related to the following location:
at public java.lang.String com.traffic.rest.data.bean.RTime.getTs()
at com.traffic.rest.data.bean.RTime
this problem is related to the following location:
at private java.lang.String com.traffic.rest.data.bean.RTime.ts
at com.traffic.rest.data.bean.RTime
Class has two properties of the same name "cgt"
this problem is related to the following location:
at public byte com.traffic.rest.data.bean.TimeSegment.getCgt()
at com.traffic.rest.data.bean.TimeSegment
at private java.util.List com.traffic.rest.data.bean.RTime.segmentList
at com.traffic.rest.data.bean.RTime
this problem is related to the following location:
at private byte com.traffic.rest.data.bean.TimeSegment.cgt
at com.traffic.rest.data.bean.TimeSegment
at private java.util.List com.traffic.rest.data.bean.RTime.segmentList
at com.traffic.rest.data.bean.RTime
Class has two properties of the same name "id"
this problem is related to the following location:
at public int com.traffic.rest.data.bean.TimeSegment.getId()
at com.traffic.rest.data.bean.TimeSegment
at private java.util.List com.traffic.rest.data.bean.RTime.segmentList
at com.traffic.rest.data.bean.RTime
this problem is related to the following location:
at private int com.traffic.rest.data.bean.TimeSegment.id
at com.traffic.rest.data.bean.TimeSegment
at private java.util.List com.traffic.rest.data.bean.RTime.segmentList
at com.traffic.rest.data.bean.RTime
Class has two properties of the same name "spd"
this problem is related to the following location:
at public byte com.traffic.rest.data.bean.TimeSegment.getSpd()
at com.traffic.rest.data.bean.TimeSegment
at private java.util.List com.traffic.rest.data.bean.RTime.segmentList
at com.traffic.rest.data.bean.RTime
this problem is related to the following location:
at private byte com.traffic.rest.data.bean.TimeSegment.spd
at com.traffic.rest.data.bean.TimeSegment
at private java.util.List com.traffic.rest.data.bean.RTime.segmentList
at com.traffic.rest.data.bean.RTime
Class has two properties of the same name "vol"
this problem is related to the following location:
at public byte com.traffic.rest.data.bean.TimeSegment.getVol()
at com.traffic.rest.data.bean.TimeSegment
at private java.util.List com.traffic.rest.data.bean.RTime.segmentList
at com.traffic.rest.data.bean.RTime
this problem is related to the following location:
at private byte com.traffic.rest.data.bean.TimeSegment.vol
at com.traffic.rest.data.bean.TimeSegment
at private java.util.List com.traffic.rest.data.bean.RTime.segmentList
at com.traffic.rest.data.bean.RTime
at com.sun.jersey.core.provider.jaxb.AbstractRootElementProvider.writeTo(AbstractRootElementProvider.java:151)
at com.sun.jersey.spi.container.ContainerResponse.write(ContainerResponse.java:289)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1029)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:941)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:932)
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:384)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:451)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:632)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
Caused by: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 6 counts of IllegalAnnotationExceptions
问题补充:就是说
private List<TimeSegment> segmentList;
@XmlElement
public String getTs() {
return ts;
}
public void setTs(String ts) {
this.ts = ts;
}
wkshippou 写道
我擦,标注放在get方法上啊。。。
相关推荐
在Android平台上进行开发时,有时候我们需要处理XML数据,这时候JAXB...不过,需要注意的是,由于额外的库可能会增加应用的大小和潜在的兼容性问题,所以在选择使用JAXB时,需要权衡其带来的便利性和可能的性能影响。
在Java开发中,JAXB(Java Architecture for XML Binding)是一个用于将XML文档和Java对象之间进行绑定的技术。在处理XML文件时,特别是涉及到...遵循这些原则,可以有效地避免在Java开发中使用JAXB时出现的乱码问题。
jaxb技术在javaSE6.0中已经包含了jaxb定义的所有API,在处理XML文档时,使用jaxb要比使用JAXP(DOM、SAX和StAX)更方便。jaxb框架中提供两种编写XML和java对象交互的方法:一种是通过XSD(XMLSchema Definition)...
- 对于大型项目,可能需要考虑性能问题,因为JAXB涉及大量的反射操作。 总之,JAXB为Java开发者提供了一种强大而便捷的方式来处理XML数据,它简化了XML和Java对象之间的转换,提升了开发效率。在实际开发中,理解并...
- 使用注解在Java类上定义XML Schema对应的元素和属性。 - 自动生成XML Schema(XSD)文件,以便于服务的描述和文档化。 - 自动实现序列化和反序列化,将XML消息转换为Java对象,反之亦然。 - 定义自定义的XML解析器...
在Idea中使用JAXB,我们需要遵循以下步骤: 1. **创建Java类**:首先,我们需要定义与XML元素相对应的Java类。这些类会包含对应XML节点的属性。例如,如果XML文件有`<person>`标签,我们可以创建一个`Person`类,...
Android支持JAXB(Java Architecture for XML Binding) ...使用JAXB在Android平台上解析XML文件需要注意一些特殊的问题和解决方法,通过正确的配置和编码,我们可以成功地使用JAXB来解析XML文件。
在描述的项目场景中,PTN(Packet Transport Network)健康检查报告的配置可能存储在XML文件中,使用JAXB可以方便地解析这些配置,提取出所需的信息。 接下来,我们讨论Apache POI。Apache POI是一个流行的Java库,...
**使用JAXB根据XSD生成XML文档** 在Java开发中,XML文档的生成与解析是一项常见的任务,特别是在处理数据交换和存储时。JAXB(Java Architecture for XML Binding)是Java平台标准的一部分,它提供了一种将Java对象...
如何更好地jaxb使用如何更好地jaxb使用如何更好地jaxb使用如何更好地jaxb使用
如果在你的项目中需要使用JAXB2来处理XML,你可以将这些jar添加到项目的类路径中,以确保所有必要的依赖都已到位。例如,在Maven或Gradle项目中,可以通过配置依赖管理来引用这些库。在传统的Java应用中,你可能需要...
此外,Spring框架也支持使用JAXB处理RESTful服务中的XML数据。 ### 注意事项 - 当Java类的结构复杂时,理解JAXB的生命周期和对象的引用关系非常重要,以避免可能出现的内存泄漏或循环引用问题。 - 考虑到性能,...
在给定的例子中,我们看到了如何使用JAXB 2.1.6版本创建和解析XML文档。首先,定义了一个名为`Product`的Java类,该类使用JAXB注解来指定XML映射规则。`@XmlRootElement`注解定义了XML根元素的名称和命名空间,`@...
生成的Java类包含了getter和setter方法,使得你可以直接在代码中创建和操作这些对象,然后使用JAXB将其序列化为XML,或者反序列化XML到Java对象。例如: ```java import javax.xml.bind.JAXBContext; import javax....
对于Java开发者来说,熟练掌握JAXB以及相关的Eclipse插件使用方法是十分必要的,因为这不仅可以简化XML处理的复杂性,还能使项目代码更符合Java的最佳实践。 总结一下,JAXB的Eclipse插件是Java开发者处理XML数据的...
2. **注解Java Bean**: 使用JAXB注解如`@XmlRootElement`, `@XmlElement`, `@XmlAttribute`等来标记哪些类、字段应该被映射到XML。 3. **创建Context**: 创建`JAXBContext`对象,它是整个转换过程的核心。它知道...
使用JAXB,开发者首先需要定义Java类来表示XML结构,然后通过JAXB的`@XmlRootElement`和`@XmlElement`等注解来标注这些类,以便JAXB能够理解它们与XML元素的对应关系。接着,可以使用`JAXBContext`来创建一个上下文...
`jaxb-impl.jar`包含了编译器工具,如`JAXBCompiler`,以及运行时支持,使得开发者能够在应用程序中直接使用JAXB服务。 在实际开发中,当处理XML数据时,我们首先会导入`jaxb-api.jar`,然后根据需求选择是否引入`...
**JAXB(Java ...总之,JAXB是Java开发中处理XML数据的重要工具,它的安装和使用极大地提高了开发效率,使得XML数据的处理更加便捷。通过理解和熟练掌握JAXB,开发者可以更好地构建和维护XML相关的应用程序。