如何在Ubuntu Jaunty服务器上安装无头JDK?


8

我最近设置了一个运行JDK的构建服务器(例如,编译Java源代码)。Ubuntu中的OpenJDK软件包将OpenJDK JRE作为依赖项引入,而依赖项又依赖于仅与图形环境相关的大量软件包。对于标准JRE,有一个无头版本的软件包,但对于JDK,没有。

之前已经在各个地方讨论了这个问题,而我找到并使用的一个解决方案是:

$ apt-get --no-install-recommends -d install openjdk-6-jdk
$ dpkg -i --ignore-depends=openjdk-6-jre /path/to/just-downloaded.deb

在执行此操作的同时,它现在使我的系统具有一棵坏掉的依赖树,并且apt-get拒绝进一步安装,直到我运行apt-get -f

有更好的解决方案吗?

Answers:


4

在下面的ubuntu bug中对此进行了讨论。

据我所知,您有以下选择:

  1. 使用Sun提供的非免费Java JDK。(您可以使用来自debian / ubuntu 的JavaPackage程序来创建非免费的Java JDK的deb包)。
  2. 与ubuntu开发人员合作解决此问题。
  3. 创建您自己的OpenJDK-headless软件包。

当然,从长远来看,选项2最好,因为它可以解决每个人的问题,而选项1和3只为您解决,但是选项1和3更快。


1
该错误线程在我看来并不十分有前途。似乎有一些副作用需要解决,维护者似乎不太急于解决问题。我可能会很自私,选择Sun JDK。
汉诺·菲茨

1
我应该怎么执行选项3?有关我的问题,请参阅serverfault.com/questions/755573
equaeghe '02

2

您不可以下载并安装Sun的JDK吗?无需编译,不需要X11。我更喜欢打包选项。

chmod +x ~/jdk-6u14-linux-i586.bin
cd /usr
sudo mkdir java
cd java
sudo ~/jdk-6u14-linux-i586.bin
export JAVA_HOME=/usr/java/jdk1.6.0_14
export PATH=$JAVA_HOME/bin:$PATH

0

我怀疑他只需要更新他的etc-alternatives链接:

update-alternatives --set java /usr/lib/jvm/default-java/bin/java

(或类似的东西)

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.