我想开始尝试使用 Java(最终能够达到可以为 Android 或 Web 编写基本的小程序的程度),但是我的电脑上的 Java 却搞乱了(来自过去的实验)。
我不确定我使用的是哪个版本的 Java,想知道是否有命令可以查看已安装并处于活动状态的 Java 版本。此外,哪个版本效果最好?所有这些都在 32 位 Ubuntu 12.04 上进行
编辑:
好的,看来我同时拥有 openjdk 6 和 7,并且正在使用 openjdk 7。我想使用 openjdk 7,那么如何卸载 openjdk 6?仅通过 USC 就足够了吗,还是应该运行命令?
答案1
最简单的方法是:
update-java-alternatives -l
显示您已安装的所有 Java 版本。
java -version
显示您正在使用的 Java 版本。
java -showversion
显示您正在使用的 Java 版本和帮助。
通常是 OpenJDK。
答案2
此命令应告诉您 Java 虚拟机(java
)和 Java 编译器当前提供什么javac
:
file /etc/alternatives/java /etc/alternatives/javac
这假设“替代方案”系统正常运行,但实际情况可能并非如此,这取决于 Java 过去是如何“搞砸”的。要检查这一点,请运行:
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 软件包都是此处列出。
或者您可以使用命令行:
sudo apt-get remove openjdk-6-\* icedtea-6-\*
但是,无论使用哪种方法,您可能都想先检查哪些内容依赖于这些软件包——您可能安装了专门需要版本 6 的软件。(可能不是,但有可能。)
您可以通过以下方式检查模拟命令行上的删除操作:
apt-get -s remove openjdk-6-\* icedtea-6-\*
这将向您显示删除这些软件包的效果,包括还会删除哪些其他软件包。(您会注意到,由于这是一个模拟,因此您不需要sudo
。)
如果你希望继续使用Web 浏览器中的在线 Java 内容(这与JavaScript),那么在删除任何icedtea-6-
或openjdk-6-
包(也许除了openjdk-6-jdk
)之前,您应该确保您已经安装了与所安装包icedtea-7-
相对应的包。icedtea-6-
答案3
java -version
javac -version
java
这些命令显示您安装的(运行 Java 程序的解释器)和javac
(创建它们的编译器)的版本。
详情请参阅上图。
答案4
这是我所做的对我有用的事情:
打开你的终端:
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。只要您的视频卡驱动程序正常工作,我向其提出的所有内容都可以正常工作。