无法安装Oracle JDK 9

我卸载了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) 

对于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.* 

喜欢朋友的解决方案

 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 

我刚遇到同样的问题并完成了以下工作:

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

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

最新版本的安装程序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 (它将生成目录)。 执行上述修复后,它将从缓存版本(保留备份副本)安装,而不是尝试再次下载。