Ubuntu JauntyサーバーにヘッドレスJDKをインストールするにはどうすればよいですか?


8

最近、JDKを実行する必要がある(たとえば、Javaソースをコンパイルする)ビルドサーバーをセットアップしました。UbuntuのOpenJDKパッケージは、依存関係としてOpenJDK JREを取り込みます。依存関係は、グラフィカル環境にのみ関連する多数のパッケージに依存します。標準のJREにはヘッドレスバージョンのパッケージがありますが、JDKにはありません。

この問題は以前にさまざまな場所で議論されており、私が見つけて使用した1つの解決策は次のとおりです。

$ 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

これに対するより良い解決策はありますか?

回答:


4

これは、次のubuntuバグで説明されています。

私が見る限り、次のオプションがあります。

  1. Sunの非フリーJava JDKを使用してください。(debian / ubuntuのJavaPackageプログラムを使用して、非フリーのJava JDKのdeb パッケージを作成できます)。
  2. この問題を解決するには、ubuntu開発者と協力してください。
  3. 独自のOpenJDKヘッドレスパッケージを作成します。

もちろん、オプション2はすべての人の問題を解決するため、長期的には最適であり、オプション1と3はあなたのためだけに解決しますが、1と3の方が高速です。


1
そのバグのスレッドは私にはあまり有望に見えません。対処すべき副作用がいくつかあり、メンテナは問題の解決に熱心ではないようです。私はおそらく利己的で、Sun JDKに行くでしょう。
Hanno Fietz、

1
オプション3を実装するにはどうすればよいですか?私の質問については、serverfault.com / questions / 755573を参照してください。
equaeghe

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

(またはそのようなもの)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.