关于Eclipse启动时报ClassNotFoundException: javax.xml.parsers.SAXParserFactory异常的解决

原创 2005年01月02日 12:00:00

前些日子下载了最新版本的Eclipse3.0,解压到e:/Temp/Eclipse目录下,启动时弹出一个小提示框说出错请查看Eclipse/configuration/下的一个*******.log文件.
文件中说:
!SESSION 涓€鏈?01, 2005 23:16:43.692 ----------------------------------------------
eclipse.buildId=I200405211200
java.version=1.3.1_01
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=zh_CN
!ENTRY org.eclipse.osgi 涓€鏈?01, 2005 23:16:43.692
!MESSAGE Error registering XML parser services.
!STACK 0
java.lang.ClassNotFoundException: javax.xml.parsers.SAXParserFactory
 at java.net.URLClassLoader$1.run(Unknown Source)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(Unknown Source)


于是上CSDN发贴求助,无果,Eclipse还是无法使用.近来偶读王森著的<<Java深度历险>>, 书中的解释给我以启发,最终Eclipse跑起来了,虽然还有若干疑点,故将解决此问题的过程与剩余的疑点写出来与大家探讨.

问题的解决:

引起问题的原因是eclipse找到的虚拟机是1.3.1_01版本的,而此版本的JVM根本不自带javax.xml.parsers.SAXParserFactory这样一个类
我猜测根目录下的eclipse.exe与%Java_Home%/bin/java.exe 是同样的功能,就是定位到底运行哪一个JVM
根据<Java深度历险>上所说java.exe 按照如下顺序搜索JVM
1 自己当前目录下有没有JRE(原书说这种说法不够精确)
2 父目录下有没有JRE
3 查询注册表(HKey_Local_Machine/Software/JavaSoft/Java Runtime Environmet/)

所以我把整个eclipse目录下的文件复制到我的%Java_Home%/ 目录下面,按照上面的说法,它会先去寻找%Java_Home%/JRE 找到后就直接执行此目录下的虚拟机,而此虚拟机是1.5版的,这样eclipse就可以正常启动了.


疑惑

原来Eclipse找到的JVM1.3.1_01是我装好操作系统后装的第一个JRE,位于C:/Program Files/IBM/JRE/1.1/bin 而这个JRE 根本没有在注册表里面注册    按照<Java深度历险>书上的内容它是不可能被找到的.   所以eclipse.exe启动时选择JRE 的机制还需要高人来指点.

Apache Axis初级教程---安装、应用

本文讲述了Apache Axis的安装及简单应用,作为Apache Axis的一个入门教程。虽然现在Apache Web Service项目已经推出了Apache Axis2,Axis2相对Axi...
  • a5489888
  • a5489888
  • 2013年06月03日 10:16
  • 4580

java SAXParserFactory解析xml文件

申明:个人学习总结,经供参考
  • u011698346
  • u011698346
  • 2014年09月20日 09:55
  • 793

【Java编程】SAX XML Parser解析、生成XML文件

1、优缺点 优点: SAX 从根本上解决了 DOM 在解析 XML 文档时产生的占用大量资源的问题。其实现是通过类似于流解析的技术,通读整个 XML 文档树,通过事件处理器来响应程序员对于 XML 数...
  • a13429921973
  • a13429921973
  • 2014年05月01日 22:43
  • 4180

使用JAXP进行SAX解析(XMLReaderFactory、XMLReader 、SAXParserFactory与SAXParser)

SAX解析XML文件采用事件驱动的方式进行,也就是说,SAX是逐行扫描文件,遇到符合条件的设定条件后就会触发特定的事件,回调你写好的事件处理程序。使用SAX的优势在于其解析速度较快,相对于DOM而言占...
  • redarmy_chen
  • redarmy_chen
  • 2013年10月22日 19:14
  • 14132

Tomcat启动报错,不能正常解析配置文件 Could not load META-INF/services/javax.xml.parsers.SAXParserFactory XML文件解析失败

运行环境:Ubantu 14. Tomcat7   声明:此服务器为公司测试服务器,因为经常需要改动一些固件,或者升级固件,经常会做格式化磁盘;所以无论是什么环境,一定需要先备份,保证数据安全!!!...
  • qq_33571718
  • qq_33571718
  • 2016年09月09日 16:09
  • 1398

javax.xml.parsers.SAXParserFactory.setXIncludeAware(Z)V错误解决方案

Struts2+Tiles2,jdk1.5,启动tomcat服务时报错,错误代码如下: StandardContext[]Exception sending context initialize...
  • sonysonyok88
  • sonysonyok88
  • 2012年03月22日 16:58
  • 1544

weblogic.xml.jaxp.RegistrySAXParserFactory cannot be cast to javax.xml.parsers.SAXParserFactory

报错信息如下: weblogic.xml.jaxp.RegistrySAXParserFactory cannot be cast to javax.xml.parsers.SAXParserFac...
  • guchuanlong
  • guchuanlong
  • 2012年12月18日 16:13
  • 3891

Java解析xml文档之SAX解析

sax解析是一种边读边解析,仅向前读取,不能修改,用来读。sax创建XMLReader三步:SAXParserFactory factory = SAXParserFactory.newInstanc...
  • new___Smile
  • new___Smile
  • 2016年07月16日 00:59
  • 3574

Java自带的XML解析

JAXP (Java API for XML Processing,意为处理XML的Java API) 解析XML一般有两种方式: 一种是DOM方式:一次性读取XML内容存入内存 优点:能进行各种增...
  • Nicorui
  • Nicorui
  • 2016年11月27日 18:51
  • 861

javax.xml.parsers.DocumentBuilderFactory.setXIncludeAware(Z)V错误解决办法

Struts2+Tiles2,jdk1.5,启动tomcat服务时报错,错误代码如下: StandardContext[]Exception sending context initialized ...
  • zhujyy110
  • zhujyy110
  • 2012年10月29日 17:15
  • 2937
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于Eclipse启动时报ClassNotFoundException: javax.xml.parsers.SAXParserFactory异常的解决
举报原因:
原因补充:

(最多只允许输入30个字)