为什么我得到Class not found例外
我正在使用DeferredTextImpl
类,eclipse似乎没有抱怨它,但是当我运行我的项目时,我得到运行时exception.... Class not found exception for DeferredTextImpl ..
当我搜索类文件时,我在rt.jar
中找到它,它肯定应该在类路径上。 我还检查了项目properties->Java build path
并且可以在最底部看到JRE系统库。 当我扩展它。 我可以看到rt.jar
。 这意味着它在课堂上,对吧?
为什么我收到此错误?
检查运行时的Xerces jar版本与编译时类的版本。 确保在运行时有一个Xerces2 jar。 我怀疑rt.jar中的类与您的应用程序正在寻找的类相同。
运行代码时,Eclipse中的构建路径与类 路径之间存在差异。 构建路径用于编译代码。 类路径是应用程序运行时的。
构建路径使用Project – > Properties – > Java Build Path进行配置
使用“运行” – >“运行配置” – >“类路径”配置类路径
在您的情况下,如果“ 运行配置”下的“ JRE”选项卡指向与构建路径中相同的JRE,则还应检查(如其他人提到的那样)。
此类是特定DOM实现(Apache Xerces)的一部分。 它不是公共Java API的一部分,如果你确实在一个JVM的运行时类库中找到它,这并不能保证它会存在于其他JVM的运行时类库中。 如果需要显式使用Xerces,则需要在运行时类路径上显式包含Xerces库。
您是否可以在运行代码时通过使用-jar选项显式添加rt.jar来尝试运行代码? 如果这样可行则意味着eclipse中的rt.jar不在类路径上。
右键单击项目> java构建路径>库删除JRE并添加指向JDK文件夹的库,在我的例子中是C:\ Program Files \ Java \ jdk1.7.0_55。 但在此之前,使用java安装JRE也是如此。 Windows> java>安装了JRE。 希望这会有所帮助
- java.lang.ClassNotFoundException:org.springframework.http.converter.json.MappingJackson2HttpMessageConverter
- 如何解决此错误引起:java.lang.ClassNotFoundException
- 调试ClassNotFoundException
- 带有已部署的动态Web项目的WebSphere ClassNotFoundException
- 如何捕获java.lang.NoClassDefFoundError?
- ProGuard打破了JavaFX应用程序
- ClassNotFoundException oracle.jdbc.driver.OracleDriver仅在servlet中使用Eclipse
- Wildfly 8.1 ClassNotFound org.apache.http.conn.ClientConnectionManager
- classpath – 从命令行运行java程序