apt-get安装oracle java 7停止工作

aho*_*ong 16 java oracle apt-get java-7

最近apt-get install -y oracle-java7-installer停止了工作.

我知道在他们的路线图中,我认为不再支持公共版本,但直到最近它一直在努力. http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

有人为此工作吗?

http://download.oracle.com/otn-pub/java/jdk/7u80-b15/jdk-7u80-linux-x64.tar.gz?AuthParam=1495560077_4041e14adcb5fd7e68827ab0e15dc3b1
Connecting to download.oracle.com (download.oracle.com)|96.6.45.99|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2017-05-23 10:19:17 ERROR 404: Not Found.
Run Code Online (Sandbox Code Playgroud)

Mei*_*aor 31

看来Oracle已经移动了下载链接,你仍然可以在跳过一些篮球后从oracle网站上获取tar球.WebUpd8安装程序目前已损坏.官方解释可在http://www.webupd8.org/2017/06/why-oracle-java-7-and-6-installers-no.html找到.


下载方法1:登录Oracle站点

链接现在似乎是:http://download.oracle.com/otn/java/jdk/7u80-b15/jdk-7u80-linux-x64.tar.gz 注意"otn"而不是"otn-pub",但至少从您似乎需要登录的网站,不仅接受许可协议.

使用debconf可以将url从otn-pub更改为otn并使安装程序正常工作,但我还没有尝试过.您可以自己获取二进制文件,并手动安装或使用安装程序将其指向您放置下载的tar球的位置.

编辑:似乎没有办法配置下载URL(虽然你可以像其他答案一样用主机劫持它).

下载方法2:使用受信任的镜像

如果你想从脚本下载jdk-7u80-linux-x64.tar.gz而不登录到oracle,它的托管位置包括:

编辑:sha256已从此答案中删除,因为(如此编辑演示)任何人都可以编辑所述哈希.从受信任的来源获取哈希值.建议包括:


安装方法1:预填充缓存

#put the file in the default cache location:
sudo mv jdk-7u80-linux-x64.tar.gz /var/cache/oracle-jdk7-installer/

#then install normally: 
sudo apt-get install oracle-java7-installer
Run Code Online (Sandbox Code Playgroud)

安装方法2 :(更优雅的恕我直言)将tar球放在任何地方并告诉安装人员在哪里看

#setup ppa (you probably came here after already doing this)
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update

#put the file in a temporary location:
sudo mv jdk-7u80-linux-x64.tar.gz /tmp/


#set local path to /tmp (or any other path)
echo oracle-java7-installer oracle-java7-installer/local select /tmp | \
sudo /usr/bin/debconf-set-selections


#While your at it you may want tp approve license (or skip this and approve when prompted) 
echo oracle-java7-installer shared/accepted-oracle-license-v1-1 select true | \
sudo /usr/bin/debconf-set-selections

#then install normally: 
sudo apt-get install oracle-java7-installer
Run Code Online (Sandbox Code Playgroud)

  • 请您详细说明如何使WebUpd8安装程序再次工作(通过指向tarball或更改URL或任何其他方式)? (2认同)

小智 6

所以看起来像下载的直接链接不再起作用(如上面的Meir Maor所述)

以下是再次运行的步骤:

  1. 访问http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html并接受许可.下载我们需要的文件(在这种情况下为jdk-7u80-linux-x64.tar.gz)

  2. 假设文件已下载到Downloads目录,我们需要将其移至/ var/cache/oracle-jdk7-installer

    cd ~/Downloads (Change to directory to which you saved file from step 1)
    sudo mkdir /var/cache/oracle-jdk7-installer
    sudo mv jdk-7u80-linux-x64.tar.gz /var/cache/oracle-jdk7-installer/
    
    Run Code Online (Sandbox Code Playgroud)
  3. 不确定是否有必要,但我有幸运气:

    echo oracle-java7-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections
    
    Run Code Online (Sandbox Code Playgroud)
  4. 立即运行安装程序.它将使用我们保存在/ var/cache中的文件,而不是尝试从Oracle下载它

    sudo apt-get install oracle-java7-installer
    
    Run Code Online (Sandbox Code Playgroud)

我从http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html获得了第3步