从昨天开始,我一直试图在我的Ubuntu机器上安装JDK8,但它一直失败。
sudo add-apt-repository ppa:webupd8team/java -y
sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default
但是我无法继续,因为当运行命令sudo apt-get install oracle-java8-installer
时,我得到的只是:
...
Connecting to download.oracle.com (download.oracle.com)|23.215.130.99|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2017-10-18 11:07:34 ERROR 404: Not Found.
download failed
Oracle JDK 8 is NOT installed.
dpkg: error processing package oracle-java8-installer (--configure):
subprocess installed post-installation script returned error exit status 1
...
我的设置是一个64位Ubuntu14.04。
在搜索了很多次之后,我在Ubuntu论坛上找到了答案。
基本上,问题似乎是java有一个新版本,而安装程序没有更新以引用它。
如果您的机器是带有AMD64处理器的Linux x64,您需要最新的Java8版本,并且您以前安装的版本8u212
,通过运行这些命令(原始版本的功劳归g1zmo2):
cd /var/lib/dpkg/info
sudo sed -i 's|JAVA_VERSION=8u212|JAVA_VERSION=8u221|' oracle-java8-installer.*
sudo sed -i 's|PARTNER_URL=https://download.oracle.com/otn/java/jdk/8u212-b10/59066701cf1a433da9770636fbc4c9aa/|PARTNER_URL=https://download.oracle.com/otn/java/jdk/8u221-b11/230deb18db3e4014bb8e3e8324f81b43/|' oracle-java8-installer.*
sudo sed -i 's|SHA256SUM_TGZ=.*|SHA256SUM_TGZ="15ad4f7260d2416ac1558341d9d0a0ec5b83904e4ac4a22c8a3242e4e217649b"|' oracle-java8-installer.*
sudo sed -i 's|J_DIR=jdk1.8.0_212|J_DIR=jdk1.8.0_2221|' oracle-java8-installer.*
sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default
为了本教程的目的,我们假设您想要Java8U181,并且您以前安装过Java8U171(因为我有这个)。
首先,我需要您转到Java的JDK下载页面(对于Java8,转到这里,单击“下载”选项卡,然后单击“Java SE 8U181”链接)。
现在,根据您的机器查找您需要的JDK版本。在我的例子中,我的机器运行在Ubuntu 14.04 64位上,所以我需要“Linux x64”。
同样,我的机器是“Linux x64”,所以我需要1845567095BFBFEBD42ED0D09397939796D05456290FB20A83C476BA09F991D3
,如图所示。复制价值,并确保其安全;我们以后也会需要的。
现在,打开计算机上的终端,并进入java安装程序文件所在的文件夹:
cd /var/lib/dpkg/info
太好了,现在执行这个:
sudo grep --color -P "JAVA_VERSION=[a-z0-9]+" oracle-java8-installer.config
这告诉我们安装程序配置要安装的java版本是什么。因此,为了方便地更改这些值,我们可以运行如下所示的操作:
sudo sed -i 's|JAVA_VERSION=<INSTALLER CURRENT JAVA VERSION HERE>|JAVA_VERSION=<NEW VERSION HERE>|' oracle-java8-installer.*
对于我们的示例,我们正在从8U171
升级到8U181
,因此我们将执行:
sudo sed -i 's|JAVA_VERSION=8u171|JAVA_VERSION=8u181|' oracle-java8-installer.*
好了,现在我们需要更新下载URL。
sudo grep --color -P "PARTNER_URL=[^ ]+" oracle-java8-installer.config
要更新它,我们应该执行如下命令:
sudo sed -i 's|PARTNER_URL=<INSTALLER CURRENT JAVA URL HERE>|PARTNER_URL=<NEW URL HERE>|' oracle-java8-installer.*
还记得当初我告诉你要保存的那个URL吗?我们现在就需要。将其作为新url放置,如下所示:
sudo sed -i 's|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/|' oracle-java8-installer.*
之后,我们需要更新校验和。因此请执行以下命令:
sudo grep --color -P '[^#]SHA256SUM_TGZ="[^"]+"' oracle-java8-installer.config
sudo sed -i 's|SHA256SUM_TGZ="<INSTALLER CURRENT JAVA HASH HERE>"|SHA256SUM_TGZ="<NEW JAVA HASH>"|' oracle-java8-installer.*
dpkg --print-architecture
在我的示例中,这将输出amd64
。这意味着我应该抓取第二个链接。我怎么知道这些?好吧,我阅读了源代码(sudo gedit oracle-java8-installer.config
),所以请相信我:
i386
、i586
或i686
,则获取第一个。AMD64
,则获取第二个。ARMV7L
或ARMV6L
,则获取第三个。ARMV8L
、ARM64
或AARCH64
,则获取第四个。因此,因为我的是amd64
,所以使用我们从Java网站获得的新哈希,我将执行:
sudo sed -i 's|SHA256SUM_TGZ="b6dd2837efaaec4109b36cfbb94a774db100029f98b0d78be68c27bec0275982"|SHA256SUM_TGZ="1845567095bfbfebd42ed0d09397939796d05456290fb20a83c476ba09f991d3"|' oracle-java8-installer.*
sudo grep --color -P "J_DIR=[^ ]+" oracle-java8-installer.config
sudo sed -i 's|J_DIR=<INSTALLER CURRENT JDK VERSION HERE>|J_DIR=<NEW JDK VERSION>|' oracle-java8-installer.*
作为当前版本jdk1.8.0_171
,我执行:
sudo sed -i 's|J_DIR=jdk1.8.0_171|J_DIR=jdk1.8.0_181|' oracle-java8-installer.*
还有...就是这样。我们已经准备好将java安装程序称为Yay。(哎呀...这花了我一开始以为的更长的时间来打字)。
Traceback(最近的最后一次调用):文件"C:/用户/AppData/本地/程序/Python/Python37/client.py",第54行,引号=json.loads(urllib.request.urlopen(QUERY.格式(random.random())). read())文件"C:\用户\AppData\本地\程序\Python\Python37\lib\urllib\re
问题内容: 我下载了JDK8 build b121,尝试安装时出现以下错误: 操作系统是Windows XP版本2002 Service Pack 3(32位)。 问题答案: 发生这种情况是因为Oracle 如http://mail.openjdk.java.net/pipermail/openjfx- dev/2013-July/中 所述放弃了对Windows XP的支持(顺便说一下安装程序尚未
我下载了JDK8 build b121,在尝试安装时出现以下错误: 在动态链接库ADVAPI32中找不到过程入口点RegDeleteKeyExA。dll 操作系统是Windows XP,版本2002 Service Pack 3,32位。
我使用角cli为我的Angular2应用程序。每当我尝试加载angular2/超文本传输协议在我的组件/服务没有错误显示在cli终端,但在我的浏览器的控制台它显示这- 收到http://localhost:4200/angular2/http404(未找到) 未处理的promise拒绝:错误:XHR错误(未找到404)加载http://localhost:4200/angular2/http在XM
我有一个带有Spring Boot的简单微服务应用程序,我尝试添加Spring云网关服务,但它不起作用。所有的微服务,包括Eureka服务器,都工作得很好,但当我尝试使用网关路由访问某些微服务时,它找不到微服务。 ApiGateway pom。xml API网关应用程序。yml公司 API网关主 Api网关未找到404错误
我得到下面的错误。我最近将更新为其最新版本,之后出现此错误。我不确定到底出了什么问题,我在谷歌上非常努力地寻找答案,因为我是一个新的角度类型的编程。 我尝试了以下步骤: 已尝试弃用返回,但运气不佳 尝试导入软件包,仍然没有成功 已尝试启动rc1,但运气不佳 你能告诉我实际的问题是什么,我应该如何解决这个问题? localhost/: 38错误:(SystemJS)XHR错误(404未找到)加载ht