如果可能的话,如何在linux上本地安装java - 没有root用户?

Paw*_*ski 21 java linux root

我需要java 1.7,服务器只有1.6.我没有root权限.我试图谷歌出来的东西,但似乎没有人这样做.我可以以某种方式编译它或准备二进制文件,以便我可以把它们放入我的PATH.你能帮忙吗?系统是Redhat.

fge*_*fge 39

这很容易......

从Oracle下载JDK作为tarball(一个简单的谷歌搜索将产生链接).

将它解压缩到$ HOME中的某个位置(例如$HOME/jdk).

设置JAVA_HOME为根JDK安装的路径; 然后$JAVA_HOME/bin在你的前面PATH.

你离开了.


在这里我有一个特定的设置,因为我运行JDK的三个不同的主要版本:6,7,8.例如,这是我的源文件,用于设置当前shell使用Java 8:

$ cat ~/.jdk/8
export JAVA_HOME=/opt/sunjdk/1.8/current
export PATH="$JAVA_HOME/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)

并且/opt/sunjdk/1.8(因为/opt/sunjdk我的用户可写,因此我不需要root):

$ ls -l /opt/sunjdk/1.8/* -d
lrwxrwxrwx 1 fge fge  11 Oct 30 10:09 /opt/sunjdk/1.8/current -> jdk1.8.0_25
drwxr-xr-x 1 fge fge 274 Mar 18  2014 /opt/sunjdk/1.8/jdk1.8.0_05
drwxr-xr-x 1 fge fge 274 Sep 18 02:44 /opt/sunjdk/1.8/jdk1.8.0_25
Run Code Online (Sandbox Code Playgroud)

(是的,我的root开头是为了/opt/sunjdk给"我的"用户授予写权限;如果你没有这样的自由,只需在你的家中创建另一个目录)


cel*_*llo 6

Oracle还为Linux提供了JRE和JDK*.tar.gz.我通常只是下载这样一个包,解压/解压缩它(tar -xzvf jdk-8u25.tar.gz)然后使用绝对路径运行它.


小智 6

我能够使用 conda 来完成此任务。

Conda是Anaconda的开源包管理器,根据该网站:

如果您选择用户可写的安装位置,则不需要管理权限或 root 权限来安装 Anaconda。

您可以通过浏览器在anaconda.org或命令行中搜索软件包存储库,例如,这里是JDK的结果。

对于 Linux,您需要下载此安装程序。为了方便起见,以下是启动安装程序的命令行:

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh && bash Miniconda3-latest-Linux-x86_64.sh
Run Code Online (Sandbox Code Playgroud)

安装 conda 后,您可以安装软件包。例如,要安装 JetBrains Runtime OpenJDK 版本:

conda install -c anaconda openjdk
Run Code Online (Sandbox Code Playgroud)

其他版本可以从存储库中的其他渠道获得。

上面的说明应该可以正常安装,但是入门指南是一个很好的开始位置。Conda 使用环境的概念来帮助以相当简单和直接的方式管理版本和路径。

我希望这可以帮助别人。