在Ubuntu上安装Java 7


223

安装Java我一直从终端使用经典方法。我想手动安装Java。我将JDK的文件夹放在桌子上,并设置了环境变量(PATH,CLASSPATH和JAVA_HOME)。从终端,如果我键入,java -version我会被打印

foralobo@ubuntu-vincy:~$ java -version
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)

但是当我尝试安装eclipse或netbeans时,系统警告说机器上没有安装Java。

手动安装缺少哪些内容?(Ubuntu 13.04)


我认为您必须运行update-alternatives以通知ubuntu它的“新” java安装位于何处。
flup


Answers:


548

该答案用于描述如何安装Oracle Java7。自Oracle终止使用Java 7以来,该方法不再起作用,并将带有安全补丁的版本的二进制下载文件置于付费墙后面。而且,OpenJDK已经成长,并且是当今更可行的替代方案。

在Ubuntu 16.04和更高版本中,Java 7不再可用。通常,最好不要安装Java 8(或9)。

sudo apt-get install openjdk-8-jre

或者,如果您还想要编译器,请获取jdk:

sudo apt-get install openjdk-8-jdk

在Trusty中,当前安装Java 7的最简单方法是安装OpenJDK软件包:

sudo apt-get install openjdk-7-jre

或者,对于jdk:

sudo apt-get install openjdk-7-jdk

如果要在不再支持的Ubuntu版本上专门寻找Java 7,请参阅/ubuntu/761127/how-do-i-install-openjdk-7-on-ubuntu-16- 04或更高


添加了有关如何设置环境变量的@ brent-robinson的技巧。谢谢布伦特!
flup 2014年

3
安装oracle-java7-set-default后,我无法回显$ JAVA_HOME。因此,在.bashrc中手动设置$ JAVA_HOME
Sumit Ramteke

1
@pekechis都可以工作,apt-add-repository是到add-apt-repository的符号链接。说在这里它是在11.04中添加的:askubuntu.com/questions/38021/how-to-to-add-a-ppa-on-a-server
flup 2014年

3
@sumitramteke我的意思是注销并再次登录。该环境变量在登录时设置。
flup

3
不再有效。Oracle似乎已删除了二进制文件。请参阅下面的答案。
Aniket Thakur

56
sudo apt-get update
sudo apt-get install openjdk-7-jdk

并且如果您已经安装了其他JDK版本

sudo update-alternatives --config java

然后选择Java 7版本。


2
ITYM“ sudo apt-get update && sudo apt-get install openjdk-7-jdk”
dplass 2014年

4
这是最简单的解决方案,并且不涉及添加额外的存储库。
史蒂夫·库克

2
在openjdk和Oracle提供的版本之间进行选择。
flup


34

jdk<version>-linux-x64.tar.gzhttps://www.oracle.com/technetwork/java/javase/downloads/index.html下载Java 文件。

将此文件解压缩到所需位置。例如:(/home/java用户在主目录中创建的文件夹名称)。

现在打开终端。设置JAVA_HOME=pathjdk文件夹的路径(打开jdk文件夹,然后右键单击任何文件夹,转到属性,然后使用“全选”复制路径)并粘贴到此处。

喜欢: JAVA_HOME=/home/xxxx/java/JDK1.8.0_201

让Ubuntu知道我们的JDK / JRE的位置。

sudo update-alternatives --install /usr/bin/java java /home/xxxx/java/jdk1.8.0_201/bin/java 20000
sudo update-alternatives --install /usr/bin/javac javac /home/xxxx/java/jdk1.8.0_201/bin/javac 20000
sudo update-alternatives --install /usr/bin/javaws javaws /home/xxxx/java/jdk1.8.0_201/bin/javaws 20000

告诉Ubuntu,我们的安装即jdk1.8.0_05必须是默认的Java。

sudo update-alternatives --set java /home/xxxx/sipTest/jdk1.8.0_201/bin/java
sudo update-alternatives --set javac /home/xxxx/java/sipTest/jdk1.8.0_201/bin/javac
sudo update-alternatives --set javaws /home/xxxxx/sipTest/jdk1.8.0_201/bin/javaws

现在尝试:

$ sudo update-alternatives --config java

替代java(提供/usr/bin/java)有3个选择。

  Selection    Path                                  Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-6-oracle1/bin/java   1047      auto mode
  1            /usr/bin/gij-4.6                       1046      manual mode
  2            /usr/lib/jvm/java-6-oracle1/bin/java   1047      manual mode
  3            /usr/lib/jvm/jdk1.7.0_75/bin/java      1         manual mode

按Enter保留当前选择[ *],或键入选择号:3

update-alternatives: using /usr/lib/jvm/jdk1.7.0_75/bin/java to provide /usr/bin/java (java) in manual mode

重复以上操作:

sudo update-alternatives --config javac
sudo update-alternatives --config javaws

我在GIST上看到了这段文字,是您的还是复制/粘贴的?
onaclov2000

复制/粘贴在这里,因为我没有找到上述任何工作:)
Abhijit Bashetti 2015年

1
无法安装默认的Java或来自repo的Java,但它可以解决问题。谢谢!
阿伦

@AbhijitBashetti如果这是从其他地方复制并粘贴的,我认为最好添加一个明确的说法,即带有原始来源的链接。
lfurini

2
@lfurini:如果您阅读了所有评论,我已经提到了它……我没有原始链接……我在这里添加的原因是..这样它对于其余部分可能很有用,而他们不必花时间在寻找它...像我在得到正确的步骤,投入资金多少时间......不想让别人在这些问题上投入的时间..
作者Abhijit Bashetti

12

我认为您应该仔细考虑Java安装过程。以下是详细的过程,涵盖了几乎所有可能的故障。

使用apt-get安装Java 很容易。首先,更新包索引:

sudo apt-get update

然后,检查Java是否尚未安装:

java -version

如果返回“可以在以下软件包中找到该程序java”,则尚未安装Java,因此请执行以下命令:

sudo apt-get install default-jre

按照我的假设,到目前为止您还好。

这将安装Java Runtime Environment(JRE)。相反,如果您需要Java开发工具包(JDK)(通常用于编译Java应用程序)(例如Apache Ant,Apache Maven,Eclipse和IntelliJ IDEA),请执行以下命令:

sudo apt-get install default-jdk

这就是安装Java所需的一切。

安装OpenJDK 7:

要安装OpenJDK 7,请执行以下命令:

sudo apt-get install openjdk-7-jre 

这将安装Java Runtime Environment(JRE)。如果您需要Java开发工具包(JDK),请执行以下命令:

sudo apt-get install openjdk-7-jdk

安装Oracle JDK:

Oracle JDK是官方的JDK。但是,Oracle不再提供它作为Ubuntu的默认安装。

您仍然可以使用apt-get安装它。要安装任何版本,请首先执行以下命令:

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update

然后,根据要安装的版本,执行以下命令之一:

Oracle JDK 7:

sudo apt-get install oracle-java7-installer

Oracle JDK 8:

sudo apt-get install oracle-java8-installer

3

PPA方法不再起作用。

尽管一段时间以来不支持Oracle Java 6和7,但直到最近它们仍然可以在Oracle网站上下载。

但是,二进制文件大约在10天前已删除(?),因此WebUpd8 Oracle Java PPA中可用的Oracle Java(JDK)6和7安装程序不再起作用。

Oracle Java 6和7现在仅适用于具有Oracle支持帐户(不是免费的)的用户,因此我不能在PPA软件包中支持此功能。

来源:http : //www.webupd8.org/2017/06/why-oracle-java-7-and-6-installers-no.html 日期:2017年6月

甲骨文的下载页面

2015年4月之后发布的Java SE 7更新和2013年4月之后发布的Java SE 6更新仅对Oracle客户通过My Oracle Support(需要支持登录)可用。

Java SE Advanced为用户提供了商业功能,可以访问关键的错误修复程序,安全修复程序和常规维护”。

我必须从Oracle归档文件中下载它-http: //www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html

但是,您需要一个帐户。


这是正确的,但是,我得到了它与作者Abhijit Bashetti答案完全工作:stackoverflow.com/a/28874505/2161698
SebaGra

2

flup的答案是最好的,但它对我完全没有用。我还必须执行以下操作才能使其正常工作:

  1. export JAVA_HOME=/usr/lib/jvm/java-7-oracle/jre/
  2. chmod 777 在文件夹上
  3. ./gradlew build -建筑休眠

1

.deb软件包中的Oracle Java 1.7.0

wget https://raw.github.com/flexiondotorg/oab-java6/master/oab-java.sh
chmod +x oab-java.sh
sudo ./oab-java.sh -7
sudo apt-get update
sudo sudo apt-get install oracle-java7-jdk oracle-java7-fonts oracle-java7-source 
sudo apt-get dist-upgrade

1.7.0_51的解决方法

OAB中当前存在一个Issue 123和一个请求请求

这是打补丁的版本:

wget https://raw.github.com/ladios/oab-java6/master/oab-java.sh
chmod +x oab-java.sh
sudo ./oab-java.sh -7
sudo apt-get update
sudo sudo apt-get install oracle-java7-jdk oracle-java7-fonts oracle-java7-source 
sudo apt-get dist-upgrade

0
Open Applicaction -> Accessories -> Terminal

Type commandline as below...

sudo apt-get install openjdk-7-jdk

Type commandline as below...

apt-cache search jdk

(Note: openjdk-7-jdk is symbolically used here. You can choose the JDK version as per your requirement.)

For "JAVA_HOME" (Environment Variable) type command as shown below, in "Terminal" using your installation path...

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

(Note: "/usr/lib/jvm/java-7-openjdk" is symbolically used here just for demostration. You should use your path as per your installation.)

For "PATH" (Environment Variable) type command as shown below, in "Terminal" using your installation path...

export PATH=$PATH:/usr/lib/jvm/java-7-openjdk/bin

(Note: "/usr/lib/jvm/java-7-openjdk" is symbolically used here just for demostration. You should use your path as per your installation.)

Check for "open jdk" installation, just type command in "Terminal" as shown below

javac -version

0

Oracle和现代版本的Ubuntu已迁移到Java的较新版本。Ubuntu 20.04的默认值为OpenJDK 11,足以满足大多数用途。

如果您确实需要运行旧版程序,OpenJDK 8也可从官方存储库中用于Ubuntu 20.04。

如果您确实确实需要Java 7,那么到2020年,最好的选择是下载Zulu发行版。如果您具有root特权,最容易安装的是.DEB版本,否则请下载.ZIP版本。

https://www.azul.com/downloads/zulu-community/?version=java-7-lts&os=ubuntu&architecture=x86-64-bit&package=jdk

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.