1

我正在使用DeferredTextImplClass 并且 eclipse 似乎没有抱怨它但是当我运行我的项目时我得到运行时异常.... Class not found exception for DeferredTextImpl ..

当我搜索类文件时,我发现它rt.jar肯定应该在类路径上。我还检查了项目中的构建路径,properties->Java build path可以在最底部看到 JRE 系统库。当我扩展它时。我可以看到rt.jar。这意味着它在类路径上,对吗?

为什么我会收到此错误?

4

5 回答 5

3

运行代码时,Eclipse 中的构建路径与路径之间存在差异。构建路径用于编译您的代码。类路径是您的应用程序在运行时所拥有的。

构建路径配置为Project -> Properties -> Java Build Path

类路径配置为Run -> Run Configurations -> Classpath

在您的情况下,您还应该检查(如其他人所提到的),运行配置下的JRE选项卡是否指向与构建路径中相同的 JRE。

于 2012-05-14T12:56:19.877 回答
1

检查运行时与编译时类的 Xerces jar 版本。确保在运行时有一个 Xerces2 jar。我怀疑 rt.jar 中的类与您的应用程序正在寻找的类相同。

于 2012-05-14T12:56:09.220 回答
1

此类是特定 DOM 实现 (Apache Xerces) 的一部分。它不是公共 Java API 的一部分,如果您确实在一个 JVM 的运行时类库中找到了它,这并不能保证它会在其他的。如果需要显式使用 Xerces,则需要在运行时类路径中显式包含 Xerces 库。

于 2012-05-14T12:56:48.970 回答
1

您可以在运行代码时通过显式添加带有 -jar 选项的 rt.jar 来尝试运行代码吗?如果这可行,则意味着 Eclipse 中的 rt.jar 不在类路径中。

于 2012-05-14T12:58:39.890 回答
0

右键单击项目 > java 构建路径 > 库删除 JRE 并添加指向 JDK 文件夹的库,在我的例子中是 C:\Program Files\Java\jdk1.7.0_55。但在此之前,也对安装了 java 的 JRE 做同样的事情。Windows > java > 安装的 JRE 。希望这会有所帮助

于 2014-05-19T16:38:01.313 回答