0 0

关于使用jaxb的问题3

这个是我写的类
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方法上啊。。。

2012年5月07日 10:06

1个答案 按时间排序 按投票排序

0 0

我擦,标注放在get方法上啊。。。

2012年5月07日 11:45

相关推荐

    android上使用 jaxb所需要的包

    在Android平台上进行开发时,有时候我们需要处理XML数据,这时候JAXB...不过,需要注意的是,由于额外的库可能会增加应用的大小和潜在的兼容性问题,所以在选择使用JAXB时,需要权衡其带来的便利性和可能的性能影响。

    JAXB乱码问题解决

    在Java开发中,JAXB(Java Architecture for XML Binding)是一个用于将XML文档和Java对象之间进行绑定的技术。在处理XML文件时,特别是涉及到...遵循这些原则,可以有效地避免在Java开发中使用JAXB时出现的乱码问题。

    jaxb开发使用文档

    jaxb技术在javaSE6.0中已经包含了jaxb定义的所有API,在处理XML文档时,使用jaxb要比使用JAXP(DOM、SAX和StAX)更方便。jaxb框架中提供两种编写XML和java对象交互的方法:一种是通过XSD(XMLSchema Definition)...

    JAXB使用及代码示例

    - 对于大型项目,可能需要考虑性能问题,因为JAXB涉及大量的反射操作。 总之,JAXB为Java开发者提供了一种强大而便捷的方式来处理XML数据,它简化了XML和Java对象之间的转换,提升了开发效率。在实际开发中,理解并...

    如何使用JAXB框架定制Web服务行为.doc

    - 使用注解在Java类上定义XML Schema对应的元素和属性。 - 自动生成XML Schema(XSD)文件,以便于服务的描述和文档化。 - 自动实现序列化和反序列化,将XML消息转换为Java对象,反之亦然。 - 定义自定义的XML解析器...

    idea 中用jaxb 读xml中数据

    在Idea中使用JAXB,我们需要遵循以下步骤: 1. **创建Java类**:首先,我们需要定义与XML元素相对应的Java类。这些类会包含对应XML节点的属性。例如,如果XML文件有`&lt;person&gt;`标签,我们可以创建一个`Person`类,...

    Android支持JAXB(Java Architecture for XML Binding)

    Android支持JAXB(Java Architecture for XML Binding) ...使用JAXB在Android平台上解析XML文件需要注意一些特殊的问题和解决方法,通过正确的配置和编码,我们可以成功地使用JAXB来解析XML文件。

    使用jaxb读取配置文件,并使用POI修改excel内容的例子

    在描述的项目场景中,PTN(Packet Transport Network)健康检查报告的配置可能存储在XML文件中,使用JAXB可以方便地解析这些配置,提取出所需的信息。 接下来,我们讨论Apache POI。Apache POI是一个流行的Java库,...

    使用jaxb根据xsd生成xml文档

    **使用JAXB根据XSD生成XML文档** 在Java开发中,XML文档的生成与解析是一项常见的任务,特别是在处理数据交换和存储时。JAXB(Java Architecture for XML Binding)是Java平台标准的一部分,它提供了一种将Java对象...

    如何更好地jaxb使用

    如何更好地jaxb使用如何更好地jaxb使用如何更好地jaxb使用如何更好地jaxb使用

    JAXB2 jaxb-api.jar jaxb-xjc.jar jaxb-impl.jar activation.jar

    如果在你的项目中需要使用JAXB2来处理XML,你可以将这些jar添加到项目的类路径中,以确保所有必要的依赖都已到位。例如,在Maven或Gradle项目中,可以通过配置依赖管理来引用这些库。在传统的Java应用中,你可能需要...

    jaxb 使用实例

    此外,Spring框架也支持使用JAXB处理RESTful服务中的XML数据。 ### 注意事项 - 当Java类的结构复杂时,理解JAXB的生命周期和对象的引用关系非常重要,以避免可能出现的内存泄漏或循环引用问题。 - 考虑到性能,...

    JAXB工具

    在给定的例子中,我们看到了如何使用JAXB 2.1.6版本创建和解析XML文档。首先,定义了一个名为`Product`的Java类,该类使用JAXB注解来指定XML映射规则。`@XmlRootElement`注解定义了XML根元素的名称和命名空间,`@...

    用jaxb自动生成xsd对像

    生成的Java类包含了getter和setter方法,使得你可以直接在代码中创建和操作这些对象,然后使用JAXB将其序列化为XML,或者反序列化XML到Java对象。例如: ```java import javax.xml.bind.JAXBContext; import javax....

    JAXB的 eclipse插件

    对于Java开发者来说,熟练掌握JAXB以及相关的Eclipse插件使用方法是十分必要的,因为这不仅可以简化XML处理的复杂性,还能使项目代码更符合Java的最佳实践。 总结一下,JAXB的Eclipse插件是Java开发者处理XML数据的...

    利用jaxb实现xml和bean互转

    2. **注解Java Bean**: 使用JAXB注解如`@XmlRootElement`, `@XmlElement`, `@XmlAttribute`等来标记哪些类、字段应该被映射到XML。 3. **创建Context**: 创建`JAXBContext`对象,它是整个转换过程的核心。它知道...

    jaxb api jar

    使用JAXB,开发者首先需要定义Java类来表示XML结构,然后通过JAXB的`@XmlRootElement`和`@XmlElement`等注解来标注这些类,以便JAXB能够理解它们与XML元素的对应关系。接着,可以使用`JAXBContext`来创建一个上下文...

    jaxb-api jaxb-impl jar

    `jaxb-impl.jar`包含了编译器工具,如`JAXBCompiler`,以及运行时支持,使得开发者能够在应用程序中直接使用JAXB服务。 在实际开发中,当处理XML数据时,我们首先会导入`jaxb-api.jar`,然后根据需求选择是否引入`...

    JAXB的安装包及插件

    **JAXB(Java ...总之,JAXB是Java开发中处理XML数据的重要工具,它的安装和使用极大地提高了开发效率,使得XML数据的处理更加便捷。通过理解和熟练掌握JAXB,开发者可以更好地构建和维护XML相关的应用程序。

Global site tag (gtag.js) - Google Analytics