问题 在linux上安装jdk的正确方法是什么?


我正在运行基于debian的Crunchbang linux系统,我想安装 Oracle JDK (不是openjdk)在我的系统上。

我花了一些时间来谷歌,但我无法找到如何安装(和配置)它的清晰描述。 所以这是我的问题:

在哪里安装下载的JDK的正确/最佳位置? (大多数人喜欢像 usr/lib/jvm。为什么?

当我安装了jvm(即复制了内容) jdk<version>.tar.gz 文件到选定的位置,我必须设置我的系统以引用jdk。

我可以在这里使用例如: sudo update-alternatives --install "/usr/bin/java" "java" \ "/usr/lib/jvm/jdk<version>/bin/java" 1。 我必须这样做 javac 对?

最后我必须通过添加行来设置JAVA_HOME变量:

JAVA_HOME=/usr/lib/jvm/jdk<version>/
export JAVA_HOME

到了 .bashrc 文件。

但问题是:这样我总是必须更新我的替代品,每当我升级我的jdk对吗?我怎么解决这个问题? 任何人都可以清楚地描述如何以巧妙和正确的方式在Linux系统上安装jdk吗?

谢谢


6222
2018-02-18 08:14


起源



答案:


您可以使用最新的Oracle Java 7安装并保持最新,您只需手动将PPA存储库添加到软件源。

http://www.webupd8.org/2012/06/how-to-install-oracle-java-7-in-debian.html

su -
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-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886
apt-get update
apt-get install oracle-java7-installer
exit

对于Ubuntu, http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html。有了这个,我设法在我的ubuntu服务器上安装了JDK。


9
2018-02-18 08:26



谢谢,这就像魅力一样!仅供参考,我将如何以这种方式卸载java? - Moonlit
为什么我会被封锁:呃 ftp.uk.debian.org wheezy / main来源403禁止 - FutuToad
FOR JDK8 - 只需安装oracle-java8-installer而不是java7 - Yehonatan


答案:


您可以使用最新的Oracle Java 7安装并保持最新,您只需手动将PPA存储库添加到软件源。

http://www.webupd8.org/2012/06/how-to-install-oracle-java-7-in-debian.html

su -
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-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886
apt-get update
apt-get install oracle-java7-installer
exit

对于Ubuntu, http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html。有了这个,我设法在我的ubuntu服务器上安装了JDK。


9
2018-02-18 08:26



谢谢,这就像魅力一样!仅供参考,我将如何以这种方式卸载java? - Moonlit
为什么我会被封锁:呃 ftp.uk.debian.org wheezy / main来源403禁止 - FutuToad
FOR JDK8 - 只需安装oracle-java8-installer而不是java7 - Yehonatan


第1步:打开应用>>配件>>终端

第2步:键入命令行如下...

  sudo apt-get install openjdk-6-jdk

第3步:输入命令行如下...

  apt-cache search jdk

(注意:在这里象征性地使用openjdk-6-jdk,你可以根据你的要求选择jdk版本。)

如何在Ubuntu(Linux)中为“Open jdk”设置“环境变量”?

步骤4:对于“JAVA_HOME”(环境变量)类型命令,如下所示,在“终端”中使用您的安装路径...

  export JAVA_HOME=/usr/lib/jvm/java-6-openjdk

(注意:“/ usr / lib / jvm / java-6-openjdk”在这里象征性地用于演示,您应该根据您的安装使用您的路径。)

步骤5:对于“PATH”(环境变量)类型命令,如下所示,在“终端”中使用您的安装路径...

  export PATH=/usr/lib/jvm/java-6-openjdk/bin

(注意:“/ usr / lib / jvm / java-6-openjdk”在这里象征性地用于演示,您应该根据您的安装使用您的路径。)

步骤6:检查“open jdk”安装,只需在“Terminal”中输入命令,如下图所示


3
2018-02-18 08:18



是不是有JDK 7的存储库? JDK 6本月重现了它的终结。 - Axel
谢谢,但我不想安装'openjdk',而是官方的ORACLE jdk(Sun)(我必须从他们的网站下载,因为它不在我的存储库中) - Moonlit
export PATH搞砸了我的PATH变量。 - Chrips
它应该是 export PATH=$JAVA_HOME/bin:$PATH - Seraf


只需制作一个符号链接 /usr/lib/jvm/jdk 这指向 /usr/lib/jvm/jdk<version>。然后,在更新JDK之后,您需要做的就是更新符号链接以指向新位置。


2
2018-02-18 08:37



PS:如果你的发行版可用,你应该添加一个像@Linn sugested那样引入Oracle JDK的存储库。 - Axel
谢谢,我想我会这样做:)只是为了澄清:我必须在update-alternatives中引用这个符号链接,以及在bashrc文件中等等?我应该在哪里放置符号链接?当我想使用除java或javac之外的其他命令(例如javaw)时,我必须运行相应的update-alternatives命令吗? - Moonlit
您在中创建符号链接 /usr/lib/jvm。 cd到该目录并运行 ln -s jdk<version> jdk 作为根(或使用 sudo 如果在ubuntu或类似的发行版)。然后运行update-alternatives并引用新的符号链接。 - Axel