3

我想安装 JDK 1.2 来编译我的遗留项目。由于限制太多,我无法升级到最新的 JDK。我从Sun 网站下载了它,并按照链接页面中给出的所有步骤进行操作。

当我运行时,javac -version我收到以下错误消息:

$ /usr/local/jdk1.2.2/bin/javac -version
Error: can't find libjava.so

我在/usr/local/jdk1.2.2位置安装了我的 JDK。(我使用的是 Ubuntu 12.04 64 位)。有人可以帮忙吗?

提前致谢。

4

3 回答 3

3

这与在较新系统上安装 jdk1.3.1 的问题相同。由于 uname -m 返回 x86_64,因此您必须将该选项添加到某些脚本中:

/bin/.java_wrapper
/jre/bin/.java_wrapper
/jre/bin/realpath

添加 x86_64 作为 i386 选项示例的案例之一:

case "`uname -m`" in
    i[3-6]86  | ia32 | ia64 | i?86 | x86_64)
        proc=i386
        ;;

只需在每个文件顶部的 case 语句中添加“| x86_64”即可​​。

此时,当您运行 java -version 时,您将收到“分段错误”。我仍然不确定如何解决这个问题......

于 2013-01-21T16:41:45.987 回答
2

虽然我知道使用特定版本可能有不同的原因,但如果您使用 JDK 1.2 只是因为源代码与 Java 1.2 兼容,我认为您可以使用-source(和/或-target)最新 JDK 的 javac 开关来通知源代码兼容性。

如需更多信息,请访问http://docs.oracle.com/javase/6/docs/technotes/tools/windows/javac.html

于 2012-06-04T16:38:25.830 回答
1

java 可执行文件无法找到libjava.so共享库:

检查您的安装中是否有libjava.so文件

$ find /usr/local/jdk1.2.2/ -name libjava.so

如果不是您的安装损坏(并且没有任何详细信息,将很难为您提供帮助)

如果文件在那里,您可以尝试将文件所在的目录添加到 LD_LIBRARY_PATH:

$ export LD_LIBRARY_PATH=/usr/local/jdk1.2.2/PATH_WHERE_LIBJAVA_SO_IS_LOCATED:$LD_LIBRARY_PATH
于 2012-06-04T16:00:06.600 回答