所以我只是租了一台运行Debian的专用服务器,对Linux一无所知。
无论如何,我想安装 JDK 7,首先我通过 SSH 连接并通过输入授予自己管理员权限su -
。
然后我输入了apt-get install openjdk-7-jdk
,但是我收到一条消息说openjdk-7-jdk
找不到该包
难道我做错了什么?
答案1
可以使用以下命令列出可安装的软件包以及已安装的软件包
apt-cache --names-only search openjdk
第一列是作为 参数提供的包名称apt-get install
。例如:
apt-get install openjdk-7-jdk openjdk-7-doc openjdk-7-jre-lib
答案2
手动安装
基本上,只需获取存档,从中提取文件并设置一些环境变量即可使安装的 JDK 成为默认版本。
使用 root 权限执行以下操作:
# Installing the JDK in /opt
cd /opt
# Fetch the JDK
wget http://download.oracle.com/otn-pub/java/jdk/7u60-b19/jdk-7u60-linux-x64.tar.gz
# Extract files from it
tar xvf jdk-7u60-linux-x64.tar.gz
rm jdk-7u60-linux-x64.tar.gz
JDK已经准备好可以实际使用了。
如果您想让该 JDK 成为系统范围内的默认值,请使用 root 权限运行以下命令:
update-alternatives --remove java /usr/bin/java
update-alternatives --install /usr/bin/java java /opt/jdk1.7.0_60/jre/bin/java
update-alternatives --remove javac /usr/bin/javac
update-alternatives --install /usr/bin/javac javac /opt/jdk1.7.0_60/bin/javac
如果您只想使 JDK 对一个用户可用,则需要将以下行添加到.bashrc
主目录的末尾:
PATH=/opt/jdk1.7.0_60/bin:/opt/jdk1.7.0_60/jre/bin:$PATH
export PATH
答案3
Debian挤压显然还不包括OpenJDK 7。
OpenJDK 7 在 Debian 中的可用性:http://packages.debian.org/search?keywords=openjdk-7-jdk
您可能知道,Java 7 的早期版本存在许多问题。从 AWT 的内存使用过多到安全问题(好吧,IIRC 这些也影响了 Java 6)。因此,在 Debian squeeze 发布时,OpenJDK 7 还没有准备好使用(尚未“稳定”)。
所以你有三个选择:
- 升级到下一个版本,呼呼
- 尝试从 wheezy on squeeze 构建 openjdk-7 软件包(应该工作,但它还没有向后移植!)
- 手动安装openjdk-7
第一个选项有一个很大的优点:您可以获得自动安全更新。如果您需要比当前稳定版本更多的最新软件,您可能必须使用下一个稳定版本。
使用第二个选项,您至少应该有一种简单的方法使 Java 7 成为您的默认 java.lang.对于非托管安装(选项 3),这是很多更难以可靠地工作。
无论如何,我会选择第一个选项。
答案4
有一个很好的答案这里这对我来说效果很好。我将在下面概述它。
首先,您需要通知 Squeeze 安装的 APT,它应该查看提供 Java 7(及更高版本)实例的存储库。这包括将存储库添加到您的sources.list
、添加密钥,然后更新 APT 索引。
为了让事情变得更简单,我们将首先登录到您的sudo
提示:
sudo -
或者
sudo -i
然后我们将添加存储库:
echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" | tee -a /etc/apt/sources.list
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" | tee -a /etc/apt/sources.list
每行还将输出新添加的存储库,因此如果您得到一些输出,请不要惊慌。
接下来,我们应该获取存储库的密钥,以便 APT 可以信任它从新引入的源下载的包:
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886
此后,1
密钥应该已导入。
然后,我们将更新 APT 索引:
apt-get update
并且不要忘记退出特权会话:
exit
现在,如果你这样做:
sudo aptitude search jdk
您将看到一个列表,其中包含 Oracle 的 Java 7 和 8 版本以及 OpenJDK 集。 Oracle 还提供了一个元包,可以为您运行安装程序:oracle-java7-installer
。您可以安装它并期望它为您安装 JDK7。
如果您的计算机上以前安装了 Java,并且希望将其替换为默认安装的 Java,那么还有一个方便的虚拟包可以做到这一点:oracle-java7-set-default
。
记住这实际上并不擦除之前的安装。它只会重写链接,以便 JDK7 成为默认 JDK。
最后,您可以通过输入以下内容来确认安装:
$ java -version
应该输出如下内容:
java version "1.7.0_17"
Java(TM) SE Runtime Environment (build 1.7.0_17-b02)
Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)