草庐IT

java - LinkageError JAXB 2.0 -> 2.1 (Tomcat)

尝试访问在tomcat中运行的网络服务时出现此错误。Causedby:java.lang.LinkageError:JAXB2.0APIisbeingloadedfromthebootstrapclassloader,butthisRI(fromjar:file:/C:/software/tomcat6/webapps/messaging/WEB-INF/lib/jaxb-impl-2.1.5.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class)needs2.1API.Usetheendorseddirectorymechani

java - JAXB - Beans 到 XSD 还是 XSD 到 beans?

我有一个现有的数据模型。我想用XML来表达这个数据模型。如果我要使用JAXB,看起来我有两个选择:创建一个反射(reflect)我的数据模型的XSD,并使用xjc创建绑定(bind)对象。编码和解码将涉及创建一个“映射”类,该类将采用我现有的数据对象并将它们映射到xjc创建的对象。例如,在我的数据模型中,我有一个Doc类,JAXB会创建另一个具有基本相同的确切字段的Doc类,我必须从我的Doc类映射到xjc的Doc类。使用JAXB注释对我现有的数据模型进行注释,并使用schemagen从我的注释类生成XSD。我可以看到这两种方法的优点和缺点。似乎大多数使用JAXB的人都是从XSD文件开

java - 使用 JAXB 编码嵌套类

我正在尝试编码我设计的一些类,使用标准JAXB,这些类都有void构造函数,这是我第一次尝试使用JAXB或以任何语言进行编码/解码,但据我了解,JAXB应该是能够在没有XSD的情况下编码它们。类如下:@XmlRootElement(name="place")classPlace{@XmlAttribute//variousfieldsandgetsetmethodspublicPlace(){}}@XmlRootElement(name="Arc")classArc{//variousfieldsandgetsetmethods@XmlAttributePlacep;publicset

java - JAXB 泛型 @XmlValue

目标是使用JAXB生成以下XMLstringdatabinarydata是否有允许generic的解决方法@XmlValue字段(我需要存储byte[]和String数据)?以下是我想要的:@XmlRootElementpublicclassFoo{private@XmlElementListbars;}@XmlRootElementpublicclassBar{private@XmlValueTvalue;//(*)}但是我遇到了这个异常(*)IllegalAnnotationException:@XmlAttribute/@XmlValueneedtoreferenceaJavat

Java:JAXB 和使用 char

我正在使用JAXB开发一个项目,但是我遇到了一个关于JAXB和char数据类型的小问题。chargender='M';编码后翻译成:77所以我认为char映射为整数,但我只是想将其映射为String。我怎样才能做到这一点?有可能吗? 最佳答案 经过一些试验,似乎无法配置JAXB以正确处理原始字符。不过,我很难接受。我已经尝试定义一个XmlAdaptor以尝试将其强制转换为一个字符串,但运行时似乎只接受在对象类型而非基元上注释的适配器。我能想到的唯一解决方法是用@XmlTransient标记char字段,然后编写获取和设置值的gett

java - 我用 XmlJavaTypeAdapters 注释什么包信息?

我研究过BlaiseDoughan'sanswertoaquestiononthissubject但还有一个问题。XmlJavaTypeAdapters允许您列出一堆XmlJavaTypeAdapter注释,每个注释都控制JAXB如何将不可绑定(bind)类型映射到可绑定(bind)类型。您可以在包级别使用此注释。当您这样做时,每个XmlJavaTypeAdapter注释都需要完全指定其type()属性。似乎没有要求被注释的包与被改编的不可绑定(bind)类型的包有任何关系。那很方便也很好。然而,这引出了我的下一个问题:如果带注释的包和正在适配的类型的包之间没有关系,那么JAXB如何发

javax.xml.bind.DatatypeConverter 泄漏类加载器?

我目前正在调查Tomcat7(带有OracleJDK7)上应用程序的一些类加载器泄漏。javax.xml.bind.DatatypeConverter是一个保持对Web应用程序类加载器的静态引用(因此导致类加载器在重新部署/重新启动时不被释放)的类,它存在于系统中类加载器,并通过其theConverter字段保持对来自Sun的jaxb-impl包的com.sun.xml.bind.DatatypeConverterImpl的静态引用。以前有人观察过这个问题吗?有什么建议(除了在应用程序关闭时使用反射使静态字段为空)? 最佳答案 事实

java - 使用 JAXB 解码通用列表

我有一个返回此XML的服务:successid1owner1id2owner2或successid1name1id2name2我想使用这些类解码检索到的XML:结果:@XmlRootElement@XmlAccessorType(XmlAccessType.FIELD)publicclassResponse{@XmlElementprotectedStringstatus;@XmlElementWrapper(name="result")@XmlElementprotectedListresult;}项目:@XmlRootElement@XmlAccessorType(XmlAcces

java - JAXB HashMap 不可映射

我想将POJO类中的HashMap转换为XML。我尝试使用XmlAdapter,但它只会导致HashMap的键和值对成为XML元素的属性。我需要Key是Element本身,而HashMap的值是元素的值。例如,我需要以下XML:555123.4512345cardQ123.452333cashQ我创建了以下类:MyMapType包含一个MyMapEntryType类列表,它有两个字段,即键和值。如何将Key元素更改为@XmlElement并将值字段分配给Key字段?这是我的源文件。MyMapType.javaimportjava.util.ArrayList;importjava.ut

java - Jaxb继承使用替代但不根元素

我正在浏览Blaise的博客http://blog.bdoughan.com/2010/11/jaxb-and-inheritance-using-substitution.html用于使用替换的Jaxb继承。我想实现相同但不是根元素。我正在寻找这种类型的XML作为输出。1AStreet2BStreetxxx-xxx-xxxx以下是Configuration.javaimportjavax.xml.bind.annotation.XmlRootElement;@XmlRootElementpublicclassConfiguration{privateCustomercustomer;