最近在忙着赶毕业设计,所选用的IDE是Netbeans5.5.1
在毕业设计过程中,需要使用xml与java object之间的相互转化。
经过试探一些这方面的技术,最终将目光停在了JAXB上。
JAXB的好处我就不在说什么了?大家可以自己Google一下,网上很多,
我这里要说的就是,在JavaSE 6 的版本中,以及添加了默认对JAXB的支持,在命令行下面就可以直接运行如下代码~(这段代码是我在网上找到的,仅仅是想显示一下JAXB的方便与强大)
/*
* J2S.java
*
* Created on June 10, 2007, 3:53 AM
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package org.eric.test.webservice;
import javax.xml.bind.*;
import javax.xml.bind.annotation.*;
/**
*
* @author shjy.nicholas
*/
public class J2S {
/** Creates a new instance of J2S */
public J2S () {
}
public static void main (String[] args) {
try {
JAXBContext context = JAXBContext.newInstance (Point.class);
Marshaller m = context.createMarshaller ();
m.setProperty (Marshaller.JAXB_FORMATTED_OUTPUT, true);
Point p = new Point (3, 4);
m.marshal (p, System.out);
} catch (JAXBException jex) {
System.out.println ("JAXB Binding Exception");
jex.printStackTrace ();
}
}
@XmlRootElement
private static class Point {
int x;
int y;
public Point () {
}
public Point (int x, int y) {
this.x = x;
this.y = y;
}
public void setX (int x) {
this.x = x;
}
public void setY (int y) {
this.y = y;
}
public int getX () {
return x;
}
public int getY () {
return y;
}
}
}
运行的结果:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<point>
<x>3</x>
<y>4</y>
</point>
但如果直接在Netbeas下面运行,你就会得到如下的错误:
Exception in thread "main" java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI (from jar:file:/D:/Application/Dev/Java/netbeans-5.5.1/ide7/modules/ext/jaxws21/jaxb-impl.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:136)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:406)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:270)
at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:103)
at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:81)
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:210)
at javax.xml.bind.ContextFinder.find(ContextFinder.java:368)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:574)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:522)
at org.eric.test.webservice.J2S.main(J2S.java:27)
Java Result: 1
让我们来看一下,就会知道是从bootstrap加载的时候,加载的是JAXB 2.0,而JAXB RI(JAXB下的一个子项目)需要的是2.1的。
在网上搜了一下,发现了SUN公司的endorsed介绍(http://java.sun.com/j2se/1.5.0/docs/guide/standards/)
具体做法如下:
在%JAVA_HOME%\jre\lib目录下新建一个名为的endorsed文件夹,将我们所需要的JAXB 2.1的jar包放到这个目录当中,这里我们需要的是jaxb-api.jar和jaxws-api.jar
按照上面的方法处理之后,在Netbeans下面就不错在出现错误了。
在我寻找XML和Java Object互操作的技术的时候,下面的技术也是很值得称赞的:
Stax,XStream, Zeus(使用了Apache的Xerces)。
分享到:
相关推荐
【贪吃蛇游戏源代码netbeans5.5.1】是一个经典的编程项目,它使用了Java语言,并在集成开发环境(IDE)NetBeans 5.5.1中进行开发。贪吃蛇游戏是一款广为人知的简单游戏,玩家通过控制蛇的移动来吃食物,每次吃到食物...
在NetBeans IDE 5.5.1中安装WSIT插件是提升开发能力的关键步骤,尤其对于那些需要构建和调试跨平台Web服务的开发者来说。以下是如何进行安装的详细步骤: 1. **启动NetBeans IDE**:首先,确保你已经安装并运行了...
- 在NetBeans中选择“文件”>“新建项目”,选择“Web”>“Web应用程序”,并为项目命名,例如“wsone”。 - 在“源代码级别”设置中选择与J2SE版本相匹配的选项。 2. **创建Web Service**: - 在项目上右键选择...
在NetBeans中添加背景图片是一项常见的个性化设置任务,可以让你的开发环境更加独特且符合个人审美。NetBeans是一个流行的开源集成开发环境(IDE),支持多种编程语言,如Java、C++、PHP等。通过自定义背景图片,...
在使用 NetBeans IDE 之前,需要下载并安装 NetBeans IDE 中国教育考试版(2007)。下载地址为 http://www.neea.edu.cn、http://www.ncre.cn/和 http://211.151.94.22/TT/NB_NCRE_V2_0711.zip。下载完成后,解压缩到...
- 如果有编译错误,NetBeans会在编辑器中高亮显示,并提供可能的修复建议。 5. **调试Java程序** - 在需要调试的代码行上设置断点,点击工具栏上的调试按钮或按`F5`开始调试。 - 在调试模式下,你可以逐步执行...
在JAXB中,它可以用于映射XML架构到本地的Java类,避免网络查找,提高性能。 **nbproject** 目录包含了NetBeans项目的元数据,包括项目设置、构建配置、依赖关系等。这些信息帮助NetBeans理解项目结构并进行有效的...
### 在Netbeans中使用Struts2.0+Spring2.5+Hibernate框架 #### 一、概述 在当今的企业级应用程序开发中,采用MVC(Model-View-Controller)架构模式的框架组合变得越来越普遍。其中,Struts2、Spring与Hibernate...
为了能够在项目中使用Struts2框架,我们需要创建一个Library来包含所有的Struts2库文件。具体操作如下: 1. 打开“Tools”菜单,选择“Libraries”。 2. 点击“New Library”,输入Library名称,例如“Struts2”,...
在本文中,我们将深入探讨如何在NetBeans 6.0集成开发环境中使用Web服务。Web服务是一种基于标准的,能够使应用程序之间进行交互的方式。在NetBeans 6.0中,开发和消费Web服务的过程变得相对简单,尤其对于初学者来...
本篇文章将详细讲解如何在NetBeans中使用JUnit进行测试。 首先,确保你已经安装了支持JUnit的NetBeans版本。NetBeans通常会自带JUnit库,但如果你的版本较旧或没有包含JUnit,可以通过以下步骤添加: 1. 打开...
本文将详细讨论如何在NetBeans中使用Monaco字体,并确保它能正确显示中文字符。 Monaco字体是一款由Apple公司设计的固定宽度字体,最初用于Mac OS X系统,尤其适合编程环境,因为它具有良好的可读性和清晰的符号...
- 在NetBeans IDE中打开该文件,然后在代码中添加适当的逻辑来实现目录判断。这通常涉及到使用Java的标准库,如`java.io.File`来检查目录是否存在。 2. **示例:打开已有源码并补充加法运算功能的Applet小程序** ...
在NetBeans中连接MySQL数据库后,可以使用NetBeans管理MySQL数据库,包括创建数据库表、插入数据、查询数据等。下面是在NetBeans中管理MySQL数据库的步骤: 1. 在NetBeans中,点击"窗口"菜单,然后选择"服务"选项卡...
标题:“NetBeans6.0中使用WebService” 描述:本教程主要涵盖了在NetBeans 6.0集成开发环境中如何利用WebService进行开发的基础知识,旨在帮助初学者快速入门。 **一、Web服务简介** Web服务是一种基于互联网的、...
NetBeans作为一款强大的集成开发环境(IDE),支持多种编程语言和框架,包括C和C++,因此在NetBeans中使用GTK+进行开发是完全可行的。下面我们将详细探讨如何在NetBeans环境下配置和使用GTK+。 首先,确保你已经在...
描述中提到,通过在Linux环境下使用Netbeans 5.5.1,开发者可以更有效地理解和调试Asterisk的源代码,而不是手动逐个文件分析。这种方法能够提高开发效率,特别是在复杂的模块化代码结构中。安装Netbeans和C/C++插件...
本文详细介绍了在NetBeans中使用CVS的基本流程,包括配置CVS根、签出项目、基本的操作方法等。通过这些步骤,开发者可以有效地利用CVS进行版本控制,提高团队协作效率。希望本文能帮助大家更好地理解和掌握NetBeans...