我想知道我的ubuntu系统上安装了哪个版本的java。
java -version命令显示:
cmdprompt $ java -version
java版“1.6.0_20”
Java(TM)SE运行时环境(构建 1.6.0_20-B02)
Java HotSpot(TM)客户端VM(构建 16.3-b01,混合模式,共享)
但是以下cmd 显示安装了2个Java版本?这些是什么?
cmdprompt $ ls -l $(type -path -all java)
lrwxrwxrwx 1 root root 22 2010-02-28 14:21 / usr / bin / java - > / etc / alternatives / java
lrwxrwxrwx 1 root root 15 2010-06-29 22:36 / usr / lib / jvm / java-6-sun / bin / java - > 的 ../ JRE / bin中/ JAVA
如何确保只安装了一个版本的JAVA - 这样就没有构建冲突?
答案 0 :(得分:4)
alternatives
目录包含指向您首选备选方案的链接。 (这使得在首选版本之间切换非常容易。)
对我而言,您似乎只安装了一个版本,/etc/alternatives/java
指向此版本。
如何确保只安装了一个版本的JAVA - 这样就没有构建冲突?
嗯,首先,我怀疑你会遇到构建冲突的麻烦。但是为了确保您只安装了一个版本的java,您可以列出所有已安装的包,这些包被称为java,如下所示:
dpkg --get-selections | grep -i java
然后使用apt-get remove pkgname
删除您不想安装的软件包。
答案 1 :(得分:2)
Ubuntu通过常用技巧支持几种不同的Java安装,即符号链接。如果你输入which java
它会告诉你“java”解析为“/ usr / bin / java”(应该安装Java),而后者又指向/etc/alternatives/java
这是一个符号链接通过update-alternatives
命令自动更新。例如,此命令可用于在Sun的Java实现和Java的Open JDK版本之间切换。不会有任何冲突,因为它们各自占据不同的位置并具有不同的路径,并且符号链接(系统期望找到Java的位置)可以很容易地更新以切换到要使用的任何一个。
您可以使用update-alternatives
查看当前选择的Java版本。例如:
sudo update-alternatives -l
上面的命令将告诉您为各种工具选择了哪些“替代品”。
答案 2 :(得分:1)
我一直安装了十几个版本的java,而且我从未遇到构建冲突。构建应该一次只使用一个版本的Java。所有版本的Java 6基本上都是兼容的,所以即使你混合使用它们也不会出现问题。
如果您尝试在Java 5.0编译器中使用使用Java 6编译的类,则会出现错误,这会使您明显遇到版本问题。但是,如果设置'-target 1.5'选项,则可以混合Java 5.0和6编译器。
简而言之,除非你知道自己有问题,否则我不会担心。