无法安装Oracle JDK 9


17

我卸载了jdk软件包,现在无法重新安装它们。我设法安装了oracle-java7-installer和oracle-java8-installer,但是无法安装oracle-java9-installer。看来我的计算机尝试下载错误的oracle-java9-installer 177版本,而我可以下载的版本是178。

$ wget http://download.java.net/java/jdk9/archive/178/binaries/jdk-9+178_linux-x64_bin.tar.gz
--2017-07-21 11:00:02--  http://download.java.net/java/jdk9/archive/178/binaries/jdk-9+178_linux-x64_bin.tar.gz
Connecting to 10.144.1.10:8080... connected.
Proxy request sent, awaiting response... 200 OK
Length: 293348142 (280M) [application/x-gzip]
Saving to: 'jdk-9+178_linux-x64_bin.tar.gz'

jdk-9+178_linux-x64_bin.tar.gz     1%[>                                                          ]   5.42M  5.04MB/s               ^C

$ wget http://download.java.net/java/jdk9/archive/177/binaries/jdk-9+177_linux-x64_bin.tar.gz
--2017-07-21 11:00:16--  http://download.java.net/java/jdk9/archive/177/binaries/jdk-9+177_linux-x64_bin.tar.gz
Connecting to 10.144.1.10:8080... connected.
Proxy request sent, awaiting response... 404 Not Found
2017-07-21 11:00:17 ERROR 404: Not Found.

你能帮我吗?apt-get尝试安装Oracle JDK 9。

我在win7托管的虚拟机中运行Ubuntu 16.04

完整的错误消息:

sudo apt-get install oracle-java9-installer
Reading package lists... Done
Building dependency tree       
Reading state information... Done
oracle-java9-installer is already the newest version (9b177-1~webupd8~0).
0 upgraded, 0 newly installed, 0 to remove and 147 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] Y
Setting up oracle-java9-installer (9b177-1~webupd8~0) ...
Using wget settings from /var/cache/oracle-jdk9-installer/wgetrc
Downloading Oracle Java 9...
--2017-07-21 10:54:11--  http://download.java.net/java/jdk9/archive/177/binaries/jdk-9+177_linux-x64_bin.tar.gz
Connecting to 10.144.1.10:8080... connected.
Proxy request sent, awaiting response... 404 Not Found
2017-07-21 10:54:13 ERROR 404: Not Found.

download failed
Oracle JDK 9 is NOT installed.
dpkg: error processing package oracle-java9-installer (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 oracle-java9-installerE: Sub-process /usr/bin/dpkg returned an error code (1)

检查虚拟机上的网络连接。
乔治·乌德森

2
绝对不是网络问题。该文件不存在。
内森·杰伯

刚尝试从webupd8PPA 安装,并且无需修改先前答案中提到的任何文件即可成功。
mkobit

Answers:


13

对于JDK的GA发行版,请使用:

cd /var/lib/dpkg/info
sudo sed -i 's|SHA256SUM_TGZ="2ef49c97ddcd5e0de20226eea4cca7b0d7de63ddec80eff8291513f6474ca0dc"|SHA256SUM_TGZ="1c6d783a54fcc0673ed1f8c5e8650b1d8977ca3e856a03fba0090198e0f16f6d"|' oracle-java9-installer.*
sudo sed -i 's|JAVA_VERSION_MINOR=181|JAVA_VERSION_MINOR=181|' oracle-java9-installer.*
sudo sed -i 's|FILENAME=jdk-${JAVA_VERSION_MAJOR}+${JAVA_VERSION_MINOR}_linux-${dld}_bin.tar.gz|FILENAME=jdk-${JAVA_VERSION_MAJOR}_linux-${dld}_bin.tar.gz|' oracle-java9-installer.*
sudo sed -i 's|PARTNER_URL=http://download.java.net/java/jdk${JAVA_VERSION_MAJOR}/archive/${JAVA_VERSION_MINOR}/binaries/$FILENAME|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/${JAVA_VERSION_MAJOR}+${JAVA_VERSION_MINOR}/$FILENAME|' oracle-java9-installer.*

1
真好!很棒!
ST-DDT

1
也许您也应该在askubuntu.com/questions/958241/…上分享您的解决方案。
ST-DDT

不工作,截至目前(结果是:http://download.oracle.com/otn-pub/java/jdk/9+181/jdk-9_linux-x64_bin.tar.gz?AuthParam=1520554549_5bf6956d13a5d1a36d40ce55d3ccf989 Connecting to download.oracle.com (download.oracle.com)|2.21.188.165|:80... connected. HTTP request sent, awaiting response... 404 Not Found
儒勒

10

喜欢朋友的解决方案

sudo apt-get install oracle-java9-installer
cd /var/lib/dpkg/info
sudo sed -i 's/=177/=179/' oracle-java9-installer.*
sudo sed -i 's/SHA256SUM_TGZ="a6905f3a4245a071880e1793b8d3d6100ef7b171ea1d6ebfe6312c25c2fca8bb"/SHA256SUM_TGZ="06fe58dfa50c4f6ca21dc1d475f16cd9e58db36b1d98582091d7ff9005dda7a7"/' oracle-java9-installer.*
sudo apt-get install oracle-java9-installer

2
这是所有答案中最精确的。实际上,它为您提供了解决该问题的直接命令。
ezwrighter


@ ST-DDT这两个链接现在都不适合我。我曾经用过这个:download.oracle.com/otn-pub/java/jdk/9.0.1+11/…,但是您需要先接受许可协议。
注销

10

我刚刚遇到了相同的问题,并做了以下工作:

  1. cd /var/lib/dpkg/info/
  2. 在所有文件中,oracle-java9-installer.*将版本号177-> 178和SHA256SUM_TGZ更改为您在官方网站上看到的版本
  3. sudo apt-get install oracle-java9-installer

我知道这是肮脏且不正确的方法,但我没有找到任何替代方法


“和SHA256SUM_TGZ以及您在官方网站上看到的内容”您能否提供上述价值或网站的网址?我觉得我在大海捞针
Balmipour

我在这里找到SHA:jdk.java.net/9(首先接受条款)。我正在研究Olga的解决方案,看看现在是否可以使用...
Nathan JB

确认有效!确保从正确的Linux类型(ARM与非; 32与64)中获取SHA256。您无需替换所有SHA256哈希值,只需替换计算机所使用的体系结构中的一个即可。
弥敦道(Nathan JB)

非常感谢!您避免了我创建新VM的工作,该过程大约需要1-2个工作日!
阿克塞利·阿瓦贾

askubuntu.com/a/966163/46543答案现在有效(2017-10-18)。
卢勋爵。

8

安装程序的最新版本9.0.1-1〜webupd8〜0现在可以正常运行。

先前的答案不适用于安装程序的版本9b181-1〜webupd8〜2和某些先前版本。

请注意,JDK版本现在是9.0.1,而不是此安装程序预期的9(测试版)。它已经过时了,下载(删除)也被删除了,因此甚至无法安装旧的Beta。

以下工作:

sudo apt-get install oracle-java9-installer

您可以ls oracle-java9*用来查看此目录中的相关文件:

cd /var/lib/dpkg/info

修正不正确的金额,oracle-java9-installer.config实际上是:

sudo sed -i 's|SHA256SUM_TGZ="2ef49c97ddcd5e0de20226eea4cca7b0d7de63ddec80eff8291513f6474ca0dc"|SHA256SUM_TGZ="2cdaf0ff92d0829b510edd883a4ac8322c02f2fc1beae95d048b6716076bc014"|' oracle-java9-installer.*

修正第二个不正确的总和oracle-java9-installer.postinst

sudo sed -i 's|SHA256SUM_TGZ="1c6d783a54fcc0673ed1f8c5e8650b1d8977ca3e856a03fba0090198e0f16f6d"|SHA256SUM_TGZ="2cdaf0ff92d0829b510edd883a4ac8322c02f2fc1beae95d048b6716076bc014"|' oracle-java9-installer.*

下一个:

sudo sed -i 's|JAVA_VERSION_MAJOR=9|JAVA_VERSION_MAJOR=9.0.1|' oracle-java9-installer.*
sudo sed -i 's|JAVA_VERSION_MINOR=181|JAVA_VERSION_MINOR=11|' oracle-java9-installer.*
sudo sed -i 's|J_DIR=jdk-9|J_DIR=jdk-9.0.1|' oracle-java9-installer.*
sudo sed -i 's|FILENAME=jdk-${JAVA_VERSION_MAJOR}+${JAVA_VERSION_MINOR}_linux-${dld}_bin.tar.gz|FILENAME=jdk-${JAVA_VERSION_MAJOR}_linux-${dld}_bin.tar.gz|' oracle-java9-installer.*
sudo sed -i 's|PARTNER_URL=http://download.java.net/java/jdk${JAVA_VERSION_MAJOR}/archive/${JAVA_VERSION_MINOR}/binaries/$FILENAME|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/${JAVA_VERSION_MAJOR}+${JAVA_VERSION_MINOR}/$FILENAME|' oracle-java9-installer.*

然后再次安装:

sudo apt-get install oracle-java9-installer

您也可以单独下载java9 tgz软件包,并在/var/cache/oracle-jdk9-installer尝试(但失败)安装后将其放入(它将创建目录)。完成上述修复后,它将从缓存版本安装(保留备份副本),而不是尝试再次下载。


这是2017年10月18日对我有用的解决方案。java 9.0.1谢谢!
卢勋爵。

有效,但是在PPA维护人员永久更新文件并应用新版本架构之前,此解决方案将是暂时的
注销

谢谢,这在尝试安装它的许多麻烦之后对我也有用。
布莱克·尼米斯基

PPA现在可以立即使用...直到有什么变化:-)
Loh勋爵。

仍然面临“ dpkg:错误处理程序包oracle-java9-installer(--configure):安装了子进程的安装后脚本返回了错误退出状态1”错误
PD Farhad
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.