web-dev-qa-db-ja.com

64ビットバージョンに加えて32ビットJavaをインストールできますか?

通常の開発では、パッケージマネージャーでVM開発キット(OpenJDK)をインストールするときに付属する64ビットJavaを使用しています。

しかし、64ビットJava VMでは動作しないJavaアプリケーション(ネイティブライブラリを含むと思います)がいくつかあります。 ( SoapUI はそのような候補です-バージョン4.0.1および4.5ベータ1では、64ビットVMで実行するとセグメンテーションフォールトで失敗します。)

64ビット版に加えてi386バージョンのopenjdk-6-jreをインストールしようとしましたが、これはaptitudeによって拒否されました(既存の64ビットバージョンと競合するためです)。 32ビットバージョンでopenjdk-jre-7をインストールしようとすると、同じことが起こります。

64ビットシステムでJava 32ビットアプリケーションを実行できますか への回答ia32-Sun-Java6-binのインストールが提案されましたが、この名前のパッケージ(またはia32およびJava)。

システム全体Javaインストールを32ビットに切り替えずにSoapUIを実行するには、ここで何ができますか?

14
Paŭlo Ebermann

Javaの複数のバージョンをインストールするのは非常に簡単です。バージョン間を気まぐれに切り替えるのはやや困難です(退屈です)。

tLDR

  1. apt-get one
  2. 他を解凍
  3. 必要なパスに応じてパスをエクスポートします

apt-get one version

主に使用するバージョンを決定します。または、どちらを自動更新するかを決定します。または、コインを裏返します。 apt-get;を使用する必要さえありません。システムで両方のパッケージを手動で保守するだけです(次の見出しを参照)。

要点は、Ubuntuのパッケージマネージャーを使用して、Javaのようなパッケージの正確に1つのバージョンを維持する方が簡単だということです。あなたは残りの世話をするつもりです。

他を解凍

Jdk tarballをダウンロードします。 /optに抽出します。

それらを切り替える

パッケージマネージャーにプライマリインストールを処理させます。必要に応じて、いくつかの変数を他の変数にエクスポートします。私は多くのコマンドラインで作業しているので、それは私にとって大丈夫な解決策です。私は気にします:

export Java_HOME=/opt/jdk
export PATH=$Java_HOME/bin:$PATH

また、シンボリックリンクjdk/-> jdk1.6.0_3/は怠laであり、jdkの増分アップグレードごとに.bashrcおよびその他のスクリプトを再構成するのが好きではないためです。

気になる環境変数:

Java_LIBDIR
JNI_LIBDIR
JAVAJNI_LIBDIR
JVM_ROOT
Java_HOME
PATH
4
djeikyb

Installation

まず、 ダウンロード Sunの最新の32ビットJDK(JREではない)。当時は、これはjdk-6u7-linux-i586.binでした。

Javaパッケージをインストールします。

Sudo apt-get install Java-package 

Javaパッケージを使用して、ダウンロードしたバイナリから.debパッケージを構築します。あなたはそれをだまして32ビットパッケージを構築する必要があります:

DEB_BUILD_GNU_TYPE=i486-linux-gnu DEB_BUILD_Arch=i386 fakeroot make-jpkg jdk-6u7-linux-i586.bin 

これにより、.debパッケージが生成されます。何らかの理由で、パッケージ名には_AMD64サフィックスが付いています。パッケージをインストールします。

Sudo dpkg -i Sun-j2sdk1.6_1.6.0+update7_AMD64.deb 

Update-alternativesを使用して、新しいJDKを選択します。私のために/usr/lib/j2sdk1.6-Sunにインストールされました。

Sudo update-alternatives --config Java 

Java -versionを実行すると、正しいバージョンが表示されます。

Java version "1.6.0_07"
Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
Java HotSpot(TM) Server VM (build 10.0-b23, mixed mode)

32ビットEclipse

Eclipseの32ビットバージョンを再インストールする必要がありました(SWTにはネイティブコードが含まれているため)。また、〜/ .Eclipseディレクトリを削除しなければ、Eclipseが起動しません(これにはプラグインの新しいバージョンを再インストールする必要があります)。最後に、インストール場所(/usr/lib/j2sdk1.6-Sun)を使用してJava-> Installed JREに新しいJREを追加し、それをデフォルトとして選択します。

参照

2
Ringtail

または、ia32-libsのみをインストールできます

 apt-get install ia32-libs

x86 jreを解凍します

http://javadl.Sun.com/webapps/download/AutoDL?BundleId=6398

必要に応じてPATHに追加します。

1
MaikoID