通常の開発では、パッケージマネージャーで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を実行するには、ここで何ができますか?
Javaの複数のバージョンをインストールするのは非常に簡単です。バージョン間を気まぐれに切り替えるのはやや困難です(退屈です)。
主に使用するバージョンを決定します。または、どちらを自動更新するかを決定します。または、コインを裏返します。 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
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を追加し、それをデフォルトとして選択します。
または、ia32-libsのみをインストールできます
apt-get install ia32-libs
x86 jreを解凍します
http://javadl.Sun.com/webapps/download/AutoDL?BundleId=6398
必要に応じてPATHに追加します。