![](/img/trans.png)
[英]How can you install Jenkins on linux mint or ubuntu using oracle jdk instead of openjdk?
[英]Installing Oracle Java on Linux Mint (instead of using OpenJDK) — possible problems with linking
我提前为长时间的查询道歉,但我很遗憾,并希望包含所有相关信息。
这是我开始使用的系统:
Linux Mint 14 Nadia MATE
64-bit Kernel
OpenJDK version 1.7.0_21
我想安装Oracle Java 7并将其作为我的系统默认设置。
这是我尝试过的:
1)下载了JDK1.7.0_21的tar文件
2)解压缩并将其移动到/usr/lib/jvm/jdk1.7.0_21
3) cd /usr/lib/jvm
4) ln -s jdk1.7.0_21 java-7-oracle
5)创建文件/usr/lib/jvm/.java-7-oracle.jinfo
并继续使用以下信息填充它:
alias=java-7-oracle
priority=50
section=non-free
jre ControlPanel /usr/lib/jvm/java-7-oracle/jre/bin/ControlPanel
jre java /usr/lib/jvm/java-7-oracle/jre/bin/java
jre java_vm /usr/lib/jvm/java-7-oracle/jre/bin/java_vm
jre javaws /usr/lib/jvm/java-7-oracle/jre/bin/javaws
....
6)然后,由于一些可能不合理的原因,我放弃了这种方法,转而采用我觉得我更好理解的较短的方法。 所以我...
7)删除了我创建的符号链接rm java-7-oracle
希望它只删除符号链接。 8)继续执行以下命令:
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.*/bin/java 1065
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.*/bin/javac 1065
sudo update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/jdk1.7.*/bin/javaws 1065
sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.7.*/bin/jar 1065
9) sudo update-alternatives --config java
我选择了这个选项:
/usr/lib/jvm/jdk1.7.0_21/bin/java 1065 manual mode
之后,当我运行java -version
我得到错误,说无法启动Java虚拟机。
然后,我进去了,并且更加混乱,将优先级更改为1等等。我甚至对我的/etc/profile
进行了以下更改:
JAVA_HOME=/usr/lib/jvm/jdk1.7.0_17
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME
export PATH
加载它: . /etc/profile
. /etc/profile
但我仍然无法让java工作。 不同的是,现在当我运行java -version
我得到:
bash: /usr/bin/java: No such file or directory
我也试过指定绝对路径: /usr/lib/jvm/jdk1.7.0_21/bin/java -version
但无济于事。
有人可以帮帮我吗? 在这一点上我感到非常迷茫。
而且我似乎无法恢复到OpenJDK。
谢谢!
问题是,我在我的64位系统中使用了32位版本的Java。
所以我删除了/usr/lib/jvm/jdk1.7.0_21
然后我去了Oracle并下载了Java for Linux x64。
(我最初被他们模糊的“Java for Linux x86”标签误导,因为我的系统是x86-64。显然他们的x86指的是32位系统。)
下载正确的64位版本后,我按照本网站的说明操作:
1.检查您的Ubuntu Linux操作系统架构是32位还是64位 ,打开终端并运行以下命令。 键入/复制/粘贴:file / sbin / init注意Ubuntu Linux操作系统体系结构的位版本,无论是32位还是64位,它都会显示。
2.检查系统上是否安装了Java。 为此,您必须从终端运行Java版本命令。 打开终端并输入以下命令:键入/复制/粘贴:java -version如果您的系统上安装了OpenJDK,它可能如下所示:java version“1.7.0_15”OpenJDK Runtime Environment(IcedTea6 1.10pre)(7b15 ~pre1-0lucid1)OpenJDK 64位服务器VM(内置19.0-b09,混合模式)如果您的系统上安装了OpenJDK,则为此练习安装了错误的Java供应商版本。
3.从系统中完全删除OpenJDK / JRE,并创建一个目录来保存Oracle Java JDK / JRE二进制文件。 这将防止系统冲突和Java的不同供应商版本之间的混淆。 例如,如果您的系统上安装了OpenJDK / JRE,则可以通过在命令行键入以下内容来删除它:
类型/复制/粘贴:
sudo apt-get purge openjdk-\\*
此命令将从您的系统中完全删除OpenJDK / JRE
类型/复制/粘贴:
sudo mkdir -p /usr/local/java
此命令将创建一个用于保存Oracle Java JDK和JRE二进制文件的目录。
4.下载适用于Linux的Oracle Java JDK。 确保为32位或64位的系统体系结构选择正确的压缩二进制文件(以tar.gz结尾)。 例如,如果您在Ubuntu Linux 32位操作系统上下载32位Oracle Java二进制文件。 例如,如果您在Ubuntu Linux 64位操作系统上下载64位Oracle Java二进制文件。 可选,下载Oracle Java JDK文档选择jdk-7u45-apidocs.zip重要信息:64位Oracle Java二进制文件无法在32位Ubuntu Linux操作系统上运行,如果您尝试安装,则会收到多个系统错误消息32位Ubuntu Linux上的64位Oracle Java。
5.将Oracle Java二进制文件复制到/ usr / local / java目录中。 在大多数情况下,Oracle Java二进制文件将下载到:/ home /“your_user_name”/ Downloads。 32位Ubuntu Linux上的32位Oracle Java安装说明:
类型/复制/粘贴:
cd /home/"your_user_name"/Downloads
类型/复制/粘贴:
sudo cp -r jdk-7u45-linux-i586.tar.gz /usr/local/java
类型/复制/粘贴:
cd /usr/local/java
64位Ubuntu Linux安装说明中的64位Oracle Java: 类型/复制/粘贴:
cd /home/"your_user_name"/Downloads
类型/复制/粘贴:
sudo cp -r jdk-7u45-linux-x64.tar.gz /usr/local/java
类型/复制/粘贴:
cd /usr/local/java
6.在下载的Oracle Java tar.gz文件上运行以下命令。 请确保以root用户身份执行此操作,以使其可供系统上的所有用户执行。 要打开根终端类型 sudo -s you will be prompted for your logon password
。
32位Ubuntu Linux上的32位Oracle Java安装说明:
类型/复制/粘贴:
sudo chmod a+x jdk-7u25-linux-i586.tar.gz
64位Ubuntu Linux上的64位Oracle Java安装说明:
类型/复制/粘贴:
sudo chmod a+x jdk-7u45-linux-x64.tar.gz
7.在32位Ubuntu Linux安装说明的/ usr / local / java 32位Oracle Java 目录中解压缩压缩的Java二进制文件 :
类型/复制/粘贴:
sudo tar xvzf jdk-7u25-linux-i586.tar.gz
64位Ubuntu Linux上的64位Oracle Java安装说明:
类型/复制/粘贴:
sudo tar xvzf jdk-7u45-linux-x64.tar.gz
8.仔细检查您的目录。 此时,您应该在/ usr / local / java中有两个未压缩的二进制目录,其中Java JDK / JRE列为: Type / Copy / Paste: ls -a
jdk1.7.0_45
9.编辑系统PATH文件/ etc / profile,并将以下系统变量添加到系统路径中。 以root身份使用nano,gedit或任何其他文本编辑器, 打开 /etc/profile
。
类型/复制/粘贴:
sudo gedit /etc/profile
或 类型/复制/粘贴:
sudo nano /etc/profile
10.使用箭头键向下滚动到文件末尾,并在/ etc / profile文件的末尾添加以下行: Type / Copy / Paste:
JAVA_HOME=/usr/local/java/jdk1.7.0_45
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export PATH
11.保存/etc/profile
文件并退出。
12.通知您的Oracle Java JDK / JRE所在的Ubuntu Linux系统。 这将告诉系统新的Oracle Java版本可供使用。
类型/复制/粘贴:
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk1.7.0_45/bin/java" 1
此命令通知系统Oracle Java JRE可供使用
类型/复制/粘贴:
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/java/jdk1.7.0_45/bin/javac" 1
此命令通知系统Oracle Java JDK可供使用
类型/复制/粘贴:
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jdk1.7.0_45/bin/javaws" 1
此命令通知系统Oracle Java Web Start可供使用
13.通知您的Ubuntu Linux系统Oracle Java JDK / JRE必须是默认的Java。 类型/复制/粘贴:
sudo update-alternatives --set java /usr/local/java/jdk1.7.0_45/bin/java
此命令将为系统设置java运行时环境
类型/复制/粘贴:
sudo update-alternatives --set javac /usr/local/java/jdk1.7.0_45/bin/javac
此命令将为系统设置javac编译器
类型/复制/粘贴:
sudo update-alternatives --set javaws /usr/local/java/jdk1.7.0_45/bin/javaws
此命令将为系统设置Java Web start
14.键入以下命令重新加载系统范围的PATH / etc / profile: 键入/复制/粘贴:
. /etc/profile
请注意,重启Ubuntu Linux系统后,系统范围的PATH / etc / profile文件将重新加载
15.测试您的系统上是否正确安装了Oracle Java。 运行以下命令并记下Java的版本:
16.将成功安装32位Oracle Java:
类型/复制/粘贴:
java -version
此命令显示系统上运行的java版本您应该收到一条消息,显示: java version“1.7.0_45”Java(TM)SE运行时环境(版本1.7.0_25-b25)Java HotSpot(TM)服务器VM(构建) 23.1-b03,混合模式)
类型/复制/粘贴:
javac -version
此命令可以让您知道您现在可以从终端编译Java程序。 您应该收到一条消息,显示: javac 1.7.0_25
** 17。 将成功安装Oracle Java 64位:
类型/复制/粘贴:
java -version
此命令显示系统上运行的java版本您应该收到一条消息,显示: java version“1.7.0_25”Java(TM)SE运行时环境(版本1.7.0_21-b21)Java HotSpot(TM)64位服务器VM(build 23.6-b04,混合模式)
类型/复制/粘贴:
javac -version
此命令可以让您知道您现在可以从终端编译Java程序。 您应该收到一条消息,显示: javac 1.7.0_25
[ https://www.wikihow.com/Install-Oracle-Java-JDK-on-Ubuntu-Linux][1]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.