java - 在 ubuntu 10.04 上安装 openjdk-7-jre - 包 openjdk-7-jre 没有安装候选

标签 java ubuntu

<分区>

我正在尝试在我的 ubuntu 上安装 openjdk-7,但出现以下错误:

$ sudo apt-get install openjdk-7-jre
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package openjdk-7-jre is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package openjdk-7-jre has no installation candidate

我想我遗漏了一些 repo 或类似的东西,但我无法找到任何引用位置和内容。

最佳答案

我最近不得不在 CentOS、openSUSE 和 Ubuntu 上安装 Java 7,经过大量的苦恼和研究,最终选择了这个,它适用于所有三种版本:

  • 忽略(并卸载)与您的发行版捆绑/附带的任何 JRE 或 JDK。它们带来的麻烦多于它们的值(value),而且总是落后于最新更新。
  • http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载 JRE 7(如果你想开发,可以下载 JDK 7) .
    • 对于 JRE,如果您有 64 位机器,请获取 jre-xxx-linux-x64.tar.gz;如果您有 32 位机器,请获取 jre-xxx-linux-i586.tar.gz。不要为 RPM 烦恼。
    • 对于 JDK,如果您有 64 位机器,请获取 jdk-xxx-linux-x64.tar.gz;如果您有 32 位机器,请获取 jdk-xxx-linux-i586.tar.gz。
  • 以 root 身份或使用 sudo 执行以下操作:
    • # tar -xzvf jdk-xxx-linux-x64.tar.gz(或您下载的任何一个)
    • # mkdir/usr/java
    • # mv jdkx.x.x_xx/usr/java(或者,如果是 JRE,这将是提取的 JRE 目录)
    • # ln -s/usr/java/jdkx.x.x_xx/usr/java/jdkx
    • # ln -s/usr/java/jdkx/usr/java/latest
    • # ln -s/usr/java/latest/usr/java/default
    • # ln -s/usr/java/default/bin/java/usr/bin/java
    • # ln -s/usr/java/default/bin/javac/usr/bin/javac
    • # ln -s/usr/java/default/bin/javah/usr/bin/javah
    • # ln -s/usr/java/default/bin/javadoc/usr/bin/javadoc
    • # ln -s/usr/java/default/bin/javaws/usr/bin/javaws

显然,您必须在此处填写一些空白,但您应该了解情况。作为一个工作示例,这是我的安装(请注意,出于我的目的,我需要 Java 7 和 Java 6 JDK 的 64 位和 32 位版本,所以有很多):

# ls -al /usr/java/
total 24
drwxr-xr-x  6 root root 4096 Sep  2 11:02 .
drwxr-xr-x 14 root root 4096 Aug  9 22:14 ..
lrwxrwxrwx  1 root root   16 Aug 26 20:05 default -> /usr/java/latest
drwxr-xr-x  8 root root 4096 Sep  2 10:52 jdk1.6.0_35
drwxr-xr-x  8 root root 4096 Sep  2 10:52 jdk1.6.0_35-32
drwxr-xr-x  8 root root 4096 Sep  2 10:52 jdk1.7.0_07
drwxr-xr-x  8 root root 4096 Sep  2 10:52 jdk1.7.0_07-32
lrwxrwxrwx  1 root root   11 Sep  2 10:54 jdk6 -> jdk1.6.0_35
lrwxrwxrwx  1 root root   14 Sep  2 10:54 jdk6-32 -> jdk1.6.0_35-32
lrwxrwxrwx  1 root root   11 Sep  2 10:54 jdk7 -> jdk1.7.0_07
lrwxrwxrwx  1 root root   14 Sep  2 10:54 jdk7-32 -> jdk1.7.0_07-32
lrwxrwxrwx  1 root root    4 Sep  2 10:55 latest -> jdk7
# ls -al /usr/bin/java*
lrwxrwxrwx 1 root root 26 Aug 26 20:05 /usr/bin/java -> /usr/java/default/bin/java
lrwxrwxrwx 1 root root 27 Aug 26 20:05 /usr/bin/javac -> /usr/java/default/bin/javac
lrwxrwxrwx 1 root root 29 Aug 26 20:05 /usr/bin/javadoc -> /usr/java/default/bin/javadoc
lrwxrwxrwx 1 root root 27 Aug 26 20:07 /usr/bin/javah -> /usr/java/default/bin/javah
lrwxrwxrwx 1 root root 28 Aug 26 20:05 /usr/bin/javaws -> /usr/java/default/bin/javaws
# java -version
java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)

关于java - 在 ubuntu 10.04 上安装 openjdk-7-jre - 包 openjdk-7-jre 没有安装候选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10471564/

相关文章:

java - Java中的Iterator如何知道何时抛出ConcurrentModification异常

mysql - 禁用数据文件会破坏 MySQL

linux - 更改ssh端口

regex - 在 Ubuntu 中使用重命名递归更改文件前缀,(正则表达式不起作用)

python - MATLAB 生成的 Python 包与 Ubuntu 上的 PyQt5 冲突——可能是库问题

java - 在 JUnit 中使用 @SuiteClasses 注释和使用类数组之间的区别

java - 使用字符串和列表 bean 作为参数对 TreeMap 中的值进行排序

java - 如何生成不重复的随机字符?

java - 为使用 vector 创建的 jTable 添加带有复选框的新列

ubuntu - 在 Google 计算上的 ubuntu 上设置 Kubernetes