我正在 Debian 上进行 Java 编程。默认情况下,Debian 6.x 附带 libgcj JVM。启动 eclipse 时,它会显示一条警告this JVM is deprecated and may cause problems
。为此,我从 Oracle 网站下载了 JVM 并安装了它。
然而,安装 Oracle JVM 后,系统上的默认 JVM 仍然是 libgcj。当我输入时,java -version
我得到以下输出 -
java version "1.5.0"
gij (GNU libgcj) version 4.4.5
我应该如何从我的系统中删除它?然后我应该如何将新安装的 JVM 设置为默认 JVM。这将涉及两件事——
- 在系统路径上设置 bin 目录。
- 双击 jar 时将 javaw 设为默认程序。
我熟悉 Windows 上的这些任务,但不熟悉 Linux 上的这些任务。谢谢。
答案1
Debian 有一个命令,可以从执行类似操作的程序列表中选择一个程序。该命令update-alternatives
设置指向各种操作的默认程序的链接。
要从已安装的 JVM 列表中选择默认java
命令,需要运行以下root
命令:
update-alternatives --config java
并选择要使用的 java 版本。
如果java
未注册(安装)于备择方案子系统,您需要使用安装它update-alternatives --install "/usr/bin/java" "java" "/path/to/jdk" 1
。
来自 update-alternatives--install
选项的手动描述:
--install link name path priority [--slave link name path]...
向系统添加一组替代方案。 link 是主链接的通用名称,name 是其在替代目录中的符号链接的名称,path 是为主链接引入的替代名称。 --slave 之后的参数是通用名称、替代目录中的符号链接名称以及从属链接的替代路径。可以指定零个或多个 --slave 选项,每个选项后跟三个参数。请注意,主备用必须存在,否则调用将失败。但是,如果从属替代项不存在,则不会安装相应的从属替代项链接(仍会显示警告)。如果在必须安装替代链接的地方安装了某个真实文件,则除非使用 --force ,否则该文件将被保留。
编辑摘要: 答案已编辑,包含以下由 Manula Waidyanatha 和 Gilles 提出的评论建议 - 非常感谢。
答案2
除非您需要 Java 7,否则您无需离开 Debian 即可获取 Java。 Debian 在软件包中包含官方 Java sun-java6-*
。
安装sun-java6-jdk
apt-get install sun-java6-jdk
删除 gcj。
apt-get purge libgcj10