Bisakah saya menginstal Java 32-bit sebagai tambahan untuk versi 64-bit?

14

Untuk pengembangan normal, saya menggunakan VM 64-bit yang datang ketika saya menginstal Java development kit (OpenJDK) dengan manajer paket.

Tetapi ada beberapa aplikasi Java (yang berisi library asli, saya kira) yang tidak berfungsi pada VM Java 64 bit. (Sepertinya SoapUI adalah kandidat - dalam versi 4.0.1 dan 4.5 beta 1, gagal dengan kesalahan segmentasi jika dijalankan dalam VM 64 bit.)

Saya mencoba menginstal versi i386 dari openjdk-6-jre selain yang 64-bit, tetapi ini ditolak oleh aptitude (mengatakan bahwa itu bertentangan dengan versi 64-bit yang ada). Hal yang sama terjadi jika saya mencoba menginstal openjdk-jre-7 dalam versi 32-bit.

Jawaban untuk Dapatkah saya menjalankan aplikasi Java 32-bit pada sistem 64bit yang diusulkan untuk diinstal ia32-sun-java6-bin, tetapi tidak ada paket dengan nama ini (atau apa pun dengan ia32dan Java).

Apa yang bisa saya lakukan di sini untuk menjalankan SoapUI tanpa mengubah seluruh instalasi Java sistem saya ke 32 bit?

Paŭlo Ebermann
sumber
Saya sebenarnya berhasil menjalankan soapUI dengan versi 64-bit dengan mengedit skrip shell untuk melewati beberapa parameter yang berbeda. Saya harus mencari apa yang sebenarnya saya lakukan.
Paŭlo Ebermann
Lihat askubuntu.com/questions/111947/... untuk menginstal java 64 bit dan 32 bit dari repositori. Anda juga dapat mengubah standarnya.
user68186

Jawaban:

4

Sangat mudah untuk menginstal beberapa versi Java. Agak lebih sulit (baca: membosankan) beralih antar versi dengan iseng.

tldr

  1. apt-get one
  2. untar yang lain
  3. jalur ekspor tergantung mana yang Anda inginkan

apt-get satu versi

Putuskan versi mana yang paling sering Anda gunakan. Atau putuskan mana yang ingin Anda miliki pembaruan otomatisnya. Atau melempar koin, apa pun. Anda bahkan tidak harus menggunakan apt-get; cukup pertahankan kedua paket secara manual di sistem Anda (lihat judul berikutnya).

Intinya adalah: lebih mudah untuk menggunakan manajer paket Ubuntu untuk mempertahankan tepat satu versi paket seperti java. Anda akan mengurus sisanya.

untar yang lain

Unduh tarbal jdk. Ekstrak ke /opt.

beralih di antara mereka

Saya membiarkan manajer paket menangani instalasi utama saya. Saya mengekspor beberapa vars untuk yang lain ketika saya membutuhkannya. Saya sering bekerja pada baris perintah, jadi ini solusi yang baik untuk saya. Saya peduli dengan:

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

Juga, saya symlink jdk/ -> jdk1.6.0_3/karena saya malas dan tidak suka mengkonfigurasi ulang .bashrc saya dan skrip lain setiap peningkatan jdk tambahan.

Variabel lingkungan yang mungkin Anda pedulikan:

JAVA_LIBDIR
JNI_LIBDIR
JAVAJNI_LIBDIR
JVM_ROOT
JAVA_HOME
PATH
djeikyb
sumber
Tidak bisakah Anda mendapatkan .debarsitektur lainnya alih-alih tarbal?
0xC0000022L
@ 0xC0000022L Idenya adalah Anda memuat setiap versi ke direktori masing-masing. Jika Anda bisa melakukannya dengan deb, hebat!
djeikyb
2

Instalasi

Pertama, unduh JDK 32 bit terbaru (bukan JRE) dari Sun. Pada saat ini adalah jdk-6u7-linux-i586.bin untuk saya.

Instal paket java:

sudo apt-get install java-package 

Sekarang gunakan java-package untuk membangun paket .deb dari biner yang Anda unduh. Anda harus mengelabunya untuk membangun paket 32 ​​bit:

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

Ini akan menghasilkan paket deb. Untuk beberapa alasan nama paket memiliki akhiran _amd64. Instal paket:

sudo dpkg -i sun-j2sdk1.6_1.6.0+update7_amd64.deb 

Gunakan pembaruan-alternatif untuk memilih JDK baru. Itu diinstal di / usr/lib/j2sdk1.6-sun untuk saya.

sudo update-alternatives --config java 

Jika Anda menjalankan java -versi, Anda akan melihat versi yang benar:

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 bit Eclipse

Saya harus menginstal ulang versi 32 bit Eclipse (karena SWT berisi kode asli). Saya juga harus menghapus direktori ~ / .eclipse saya atau Eclipse tidak akan memulai (ini membutuhkan menginstal ulang versi baru dari plugins apa pun). Terakhir, tambahkan JRE baru di Java-> Installed JREs menggunakan lokasi instal (/usr/lib/j2sdk1.6-sun) dan pilih sebagai default.

ref

Buntut
sumber
Terima kasih, saya akan mencoba ini ... walaupun saya tidak ingin yang 32-bit menjadi default, hanya menggunakannya untuk beberapa program yang tidak bekerja dengan 64 bit.
Paŭlo Ebermann