问题描述
我想开始玩java(最终到了可以为android或web编写基本小程序的地步),但是我已经在我的计算机上(从过去的实验中)弄糟了java。
我不确定我拥有哪个版本的Java,并且想知道是否有命令查看已安装且处于活动状态的Java版本。另外,哪个版本效果最好?所有这些都在32位Ubuntu 12.04上
编辑:好的,所以它看起来像我有两个openjdk 6和7,在使用openjdk 7。我想使用openjdk 7,那么如何卸载openjdk 6?仅仅通过USC足够好还是应该运行一个命令?
最佳解决方法
此命令应该告诉您当前正在提供Java虚拟机(java)和Java编译器(javac)的内容:
file /etc/alternatives/java /etc/alternatives/javac
这假定”alternatives”系统正常工作,这可能并非如此,这取决于过去Java是如何被”messed up”的。要检查这个,运行:
file `which java javac`
如果替代系统正常工作并被Java使用,那么您应该看到:
/usr/bin/java: symbolic link to `/etc/alternatives/java'
/usr/bin/javac: symbolic link to `/etc/alternatives/javac'
否则,请编辑您的问题以提供详细信息。那么应该可以给出更具体的答案。
您可以使用软件中心删除openjdk-6。有多个软件包与之关联,因此您可能需要删除多个软件包。 (所有`openjdk-6软件包都是listed here。)
或者您可以使用命令行:
sudo apt-get remove openjdk-6-\* icedtea-6-\*
但是,无论使用哪种方法,您都可能首先检查是否依赖于这些软件包 – 您可能安装了特别需要版本6的软件(可能不会,但可能)。
您可以通过模拟命令行上的删除操作来检查这一点:
apt-get -s remove openjdk-6-\* icedtea-6-\*
这将向您显示删除这些软件包的影响,包括其他软件包也将被删除。 (你会注意到,因为这是一个模拟,你不需要sudo。)
如果您希望能够继续使用Java content online in your web browser(与JavaScript不同),那么在删除任何icedtea-6-或openjdk-6-软件包(可能除了openjdk-6-jdk除外)之前,应确保已安装与icedtea-6-软件包对应的icedtea-7-软件包已安装。
次佳解决方法
最简单的方法是:
update-java-alternatives -l显示您已安装的所有Java版本。
java -version向您显示您正在使用的Java版本。
java -showversion向您显示您正在使用和帮助的Java版本。
通常它会是OpenJDK。
第三种解决方法
java -version
javac -version
这些命令显示已安装的java(运行Java程序的解释器)和javac(创建它们的编译器)的版本。
详情请参阅上图。
第四种方法
这是我为我工作的:
打开你的终端:
control + alt + T
然后在这里键入(或从这里复制并粘贴)这些命令:
sudo rm /var/lib/dpkg/info/oracle-java7-installer*
sudo apt-get purge oracle-java7-installer*
sudo rm /etc/apt/sources.list.d/*java*
sudo apt-get update
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
然后为了安全起见,我会重启。
找到你的Java版本类型
java -version
你应该看到类似这样的输出:
java version "1.7.0_04"
Java(TM) SE Runtime Environment (build 1.7.0_04-b20)
Java HotSpot(TM) 64-Bit Server VM (build 23.0-b21, mixed mode)
虽然你的将在32位。
我强烈建议使用Java 7,但更新也会尝试安装Java 6。那没问题。但是,您的默认值仍然应该为7.只要您的视频卡驱动程序正常工作,我所用的所有内容都可以使用。
参考资料