在Debian Jessie中安装Java 8

26

我曾尝试多种方法将Java 8安装到ARM嵌入式Linux中,但均未成功:

第一种方式:从webupd8的存储库中获取:http://www.webupd8.org/2014/03/how-to-install-oracle-java-8-in-debian.html

W: 失败获取 http://ppa.launchpad.net/webupd8team/java/ubuntu/dists/trusty/InRelease 在发行版文件中找不到预期的条目 'main/binary-armel/Packages'(源.list条目错误或格式不正确)

W: 失败获取 http://ppa.launchpad.net/webupd8team/java/ubuntu/dists/jessie/main/binary-armel/Packages 404 Not Found

E: 某些索引文件无法下载。已被忽略或使用旧的索引文件。

看起来该存储库没有适合我的架构的源:

架构:amd64 arm64 armhf i386 powerpc ppc64el

而我需要armel(至少Java 7适用)。

我还尝试了这种方法:http://www.rpiblog.com/2014/03/installing-oracle-jdk-8-on-raspberry-pi.html

从Oracle下载jdk,然后按照说明进行操作。

但是我无法执行该文件:

root@arietta:~# java -version

-bash:/usr/bin/java:没有那个文件或目录

还有:

root@arietta:~# /opt/jdk1.8.0_71/bin/java -version -bash:/usr/bin/java:没有那个文件或目录

该文件存在且具有正确的权限,我快要疯了。

有任何想法或替代方法吗?


https://dev59.com/_F0a5IYBdhLWcg3wkpas#30184954 - assylias
我也尝试了这个(链接是64位Linux版本,我正在获取另一个版本),但仍然无法工作,与我发布的第二个替代方案相同。 - user2528085
update-alternatives --display java 显示什么?你的 Debian 是 32 位还是 64 位?你下载了哪个版本的 Java(32 位还是 64 位)?这可能与你有关:http://askubuntu.com/questions/207552 - assylias
update-alternatives --display java 显示了我拥有的两个不同版本路径,但是当我选择1.8时却无法工作,我收到了这个消息。我正在使用ARM,我之前已经尝试过在askubuntu上解决这个问题,但还是不起作用... :S - user2528085
3个回答

44

最后,我将Jessie Backports添加到sources.list中解决了这个问题:

echo deb http://http.debian.net/debian jessie-backports main >> /etc/apt/sources.list

apt-get update && apt-get install openjdk-8-jdk

update-alternatives --config java

1
我遇到了一个错误:“**-bash:/etc/apt/sources.list:权限被拒绝**”。 - IgorGanapolsky
@IgorGanapolsky 你需要以root用户或使用sudo命令来运行这些命令。 - Reinstate Monica -- notmaynard
3
我已经将内容添加到 /etc/apt/sources.list 文件中,但仍然出现 404 找不到的错误。 - questionasker
1
请查看 https://unix.stackexchange.com/questions/342403/openjdk-8-jre-headless-depends-ca-certificates-java-but-it-is-not-going-to-be 以获取最近关于新证书和修复的问题。 - garec
你是如何使用这些命令导入 GPG 密钥的? - Fredrik Wendt

9
我从webupd8团队运行了以下命令并且成功了: http://www.webupd8.org/2014/03/how-to-install-oracle-java-8-in-debian.html
su -
echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee /etc/apt/sources.list.d/webupd8team-java.list
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
apt-get update
apt-get install oracle-java8-installer
exit

2
在 Docker 容器中(library/node),这对我来说运行良好。 - Thami Bouchnafa

1

和@user2528085一样,您只需要将Debian后端添加到您的源列表文件中。

按照Debian官方网站上的说明进行操作 https://backports.debian.org/Instructions/

在shell中运行以下命令:

echo "deb http://ftp.debian.org/debian jessie-backports main" | sudo tee -a /etc/apt/sources.list.d/jessie-backports.list

sudo apt-get update && sudo apt-get install elasticsearch

没有什么困难


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接