`
jaming
  • 浏览: 33838 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAXB技术问题

    博客分类:
  • XML
阅读更多

日前在使用JAXB技术生成XML文件,在Get the JAXBContext from jaxb-api.jar (2.0)

 

JAXBContext jaxbContext = JAXBContext.newInstance(schemaName); 

出现如下异常:

java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI (from jar:file:/D:/Genuitec/WorkSpace/GenerateSchema/WebRoot/WEB-INF/lib/jaxb-impl-2.1.6.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class) needs 2.1 API. Use the endorsed directory mechanism to place jaxb-api.jar in the bootstrap classloader. (See http://java.sun.com/j2se/1.5.0/docs/guide/standards/)
 at com.sun.xml.bind.v2.model.impl.ModelBuilder.<clinit>(ModelBuilder.java:173)
 at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:422)
 at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:286)
 at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:139)
 at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:117)
 at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:188)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:132)
 at javax.xml.bind.ContextFinder.find(ContextFinder.java:286)
 at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:372)
 at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:337)
 at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:244)
 at com.ys.schema.service.GenerateXMLBySchemaBase.buildXml(GenerateXMLBySchemaBase.java:63)
 at com.ys.schema.service.impl.GenerateXMLBySchemaForExchanging.generateXML(GenerateXMLBySchemaForExchanging.java:68)
 at com.ys.schema.test.TestGenerateXML.testGenerateXML(TestGenerateXML.java:44)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
 at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
 at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
 at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
 at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
 at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
 at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:73)
 at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:46)
 at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180)
 at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41)
 at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173)
 at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
 at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
 at org.junit.runners.ParentRunner.run(ParentRunner.java:220)
 at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
 at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

 

发现是版本要求达不到的原因,G出来的结果大致如该文所举:http://haiyupeter.iteye.com/blog/306557

 

但终未能切实解决,故而逆向回求解决之道。(既然升版本奈何不了,不如jaxb-impl.jar降低版本。

 

jre环境仍然为1.6,jaxb-api.jar仍然为2.0,但是jaxb-impl.jar由2.1.12降为2.0.1。(另意外发现:两个版本的jaxb-impl都放在lib内并无冲突)。jaxb's logo

 

分享到:
评论

相关推荐

    JAXB乱码问题解决

    在Java开发中,JAXB(Java Architecture for XML Binding)是一个用于将XML文档和Java对象之间进行绑定的技术。在处理XML文件时,特别是涉及到序列化和反序列化时,可能会遇到字符编码问题,即所谓的“乱码”。这个...

    JAXB注解相关技术

    ### JAXB注解相关技术 JAXB (Java Architecture for XML Binding) 是一种 Java 技术,它允许将 XML 数据与 Java 对象相互绑定。这使得开发人员能够更容易地处理 XML 数据,将其转换为 Java 对象,或者将 Java 对象...

    javax.rar(jaxb-impl-2.3.0、jaxb-core-2.3.0、jaxb-api-2.3.0)

    在Java开发环境中,`javax.rar`这一提及实际上与RAR压缩库无关,而是涉及到Java的XML绑定(JAXB)技术。标题中的"jaxb-impl-2.3.0、jaxb-core-2.3.0、jaxb-api-2.3.0"是JAXB的不同组件版本号,它们在处理XML到Java...

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

    JAXB2,全称为Java Architecture for XML Binding 2,是Java平台上的一个标准技术,用于在XML和Java对象之间进行绑定。它允许开发者通过简单的API将XML文档转换为Java对象,反之亦然,大大简化了XML数据处理。JAXB2...

    JAXB技术实现xml与java对象互相转化代码教程

    使用java jdk的JAXB技术实现xml与java对象互相转化代码教程: JDK中JAXB相关的重要Class和Interface:(来源于百度百科JAXB) •JAXBContext类,是应用的入口,用于管理XML/Java绑定信息。 •Marshaller接口,将Java...

    jaxb-api-2.1.jar 和 jaxb-impl-2.1.8.jar

    随着Java版本的更新,JAXB在Java 9及更高版本中被标记为“遗留”技术,并且不再包含在标准JRE中。开发者需要自行添加这些库文件到项目依赖中,或者考虑使用替代技术,如JDOM、DOM4J或Jackson DataBind等。 总的来说...

    jaxb开发使用文档

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

    jaxb2.3.0依赖jar.rar

    Java Architecture for XML Binding (JAXB) 是Java平台中用于XML到Java对象绑定的标准技术,它允许开发者在Java程序中直接操作XML数据,而无需编写大量的XML解析和序列化代码。JAXB 2.3.0是该技术的一个版本,包含了...

    jaxb api jar

    JAXB 2.1.9 版本修复了一些已知问题,提高了性能,并提供了新的特性。 使用JAXB,开发者首先需要定义Java类来表示XML结构,然后通过JAXB的`@XmlRootElement`和`@XmlElement`等注解来标注这些类,以便JAXB能够理解...

    jaxb-impl.jar jaxb-api.jar jsr173_1.0_api.jar

    总的来说,这个压缩包提供了JAXB的核心实现、API、相关规范的实现(如StAX)以及代码生成工具,对于构建和运行依赖于JAXB技术的Java项目是至关重要的。当在Maven项目中遇到这些特定jar包缺失的问题时,可以将这些...

    Java XML绑定技术 (Castor JAXB XMLBeans)

    为了解决这些问题,Java XML绑定技术应运而生。本文将详细介绍Java XML绑定技术的基本概念,并重点介绍三种常用的实现框架:JAXB、XMLBeans和Castor。 #### 二、Java XML绑定技术概述 Java XML绑定技术(简称XML ...

    jaxb-ri-2.2.7

    JAXB 2.2.7的发布可能解决了当时开发社区遇到的一些问题,或者引入了对新的XML标准的支持。 在解压的`jaxb-ri-2.2.7`文件中,通常会包含以下组件和资源: 1. **API文档**:JAXB的API文档(如`docs/api`目录下的JAR...

    idea 中用jaxb 读xml中数据

    在Java开发环境中,IntelliJ IDEA(简称Idea)是一款非常流行的集成开发工具。当我们需要处理XML文件,比如从XML中提取数据时,JAXB(Java Architecture ...了解和掌握这一技术能帮助开发者更便捷地处理XML相关的任务。

    jaxb (XML操作)

    **JAXB(Java Architecture for XML Binding)** 是Java平台中用于处理XML的一种强大的工具,它提供了将XML文档与Java对象之间的映射,从而方便XML数据的解析和...在Java项目中,掌握JAXB技术将对处理XML数据大有裨益。

    Android支持JAXB(Java Architecture for XML Binding)

    JAXB(Java Architecture for XML Binding)是Java领域中的一项标准技术,能够根据XML Schema生成Java类,并将XML实例文档反向生成Java对象树。JAXB提供了将Java对象树的内容重新写到XML实例文档的方法,使用SAX对...

    jaxb2.1jar包

    **Java Architecture for XML Binding (JAXB)** 是Java平台上的一个标准技术,用于在Java对象和XML数据之间进行双向转换。JAXB2.1是JAXB的第二个主要版本,它为开发者提供了更强大、更灵活的功能,以处理XML文档的...

    jaxb-api jaxb-impl jaxb-xjc jaxws-rt jar包

    Java Architecture for XML Binding (JAXB) 是Java平台标准的一部分,...这些技术不仅简化了开发流程,还提高了代码的可维护性和可扩展性。通过合理利用这些库,开发者可以更专注于业务逻辑,而不是底层的数据转换。

    jaxb-runtime-2.3.5-API文档-中英对照版.zip

    赠送jar包:jaxb-runtime-2.3.5.jar; 赠送原API文档:jaxb-runtime-2.3.5-javadoc.jar; 赠送源代码:jaxb-runtime-2.3.5-sources.jar; 赠送Maven依赖信息文件:jaxb-runtime-2.3.5...双语对照,边学技术、边学英语。

    jaxb2.0英文文档

    这些文档可以帮助开发者深入理解JAXB 2.0的工作原理,学习如何有效地使用它的各种功能,以及如何解决可能出现的问题。通过查阅这些文档,你可以更好地利用JAXB 2.0来实现XML数据与Java对象之间的无缝转换。

Global site tag (gtag.js) - Google Analytics