我想安装JDK 1.2来编译我的遗留项目。 由于存在很多限制,我无法升级到最新的JDK。我从Sun website下载了它,并按照链接页面中给出的所有步骤进行了操作。
当我运行javac -version
时,收到以下错误消息:
$ /usr/local/jdk1.2.2/bin/javac -version
Error: can't find libjava.so
我在/usr/local/jdk1.2.2
位置安装了JDK。
(我使用的是64位Ubuntu 12.04)。
有人可以帮忙吗?
提前致谢。
答案 0 :(得分: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
;;
只需将“| x86_64”添加到每个文件顶部的case语句中。
此时运行java -version会出现“分段错误”。我还不确定如何解决这个问题......
答案 1 :(得分:2)
虽然我知道使用特定版本可能有不同的原因,但如果您使用的是JDK 1.2,因为源代码与Java 1.2兼容,我认为您可以使用-source
(和/或{{ 1}})切换最新的JDK的javac以通知源代码兼容性。
有关详细信息,请访问http://docs.oracle.com/javase/6/docs/technotes/tools/windows/javac.html
答案 2 :(得分: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