1

我正在使用这个 Java 版本:

java 版本 "1.3.1_01" Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_01) Java HotSpot(TM) Client VM (build 1.3.1_01, mixed mode)`

但是我已经编写了一个应用程序并且我遇到了运行时错误

Exception in thread "main" java.lang.NoClassDefFoundError: java/lang/CharSequence

CharSequence仅从 1.4 开始存在。

我该如何克服这个问题?

4

4 回答 4

3

听起来您尝试在 1.3 上运行一些 1.4 代码。

你犯了一个典型的错误,即假设你的假设是正确的。检查你的假设。

两个 JVM 都远远超过了它们的支持生命周期。也许你应该考虑升级。JDK 6 是当前的标准。

于 2010-03-14T10:45:12.410 回答
1

您必须针对更高版本的 JDK/JRE编写代码(并对其进行编译),而不是尝试在其上运行它。如果您必须坚持在 1.3 上运行,请确保您也在针对 1.3 构建。

另一种选择是您使用的是针对更高版本的 JDK 构建的第 3 方 JAR 。在这种情况下,找出导致问题的库并停止使用它。

或者,如果可能,将您的整个环境升级到 1.6(或 1.5,如果这对您来说太现代了)

于 2010-03-14T13:23:07.863 回答
0

根据 JavaDocs,CharSequence 接口由 CharBuffer、String 和 StringBuffer 实现。鉴于这些类深深嵌入到所有事物中,我无法想象如何解决这个问题。所以有两个解决方案:

  • 重写一个 CharSequence 类
  • 使用Java 1.4
于 2010-03-14T10:48:34.380 回答
0

如果它适合您的需要,请尝试使用 String 而不是 CharSequence。否则可能 char[] 会有用。这取决于。显示您的代码以进行更具建设性的对话

于 2010-03-14T12:11:46.780 回答