क्या मैं 64-बिट संस्करण के अलावा 32-बिट जावा स्थापित कर सकता हूं?


14

सामान्य विकास के लिए मैं 64-बिट वीएम का उपयोग कर रहा हूं जो तब आता है जब मैं पैकेज मैनेजर के साथ जावा डेवलपमेंट किट (ओपनजेडके) स्थापित करता हूं।

लेकिन कुछ जावा एप्लिकेशन (देशी पुस्तकालयों, मुझे लगता है) हैं जो 64 बिट जावा वीएम पर काम नहीं करते हैं। (ऐसा लगता है कि सोपुई ऐसा उम्मीदवार है - संस्करण 4.0.1 और 4.5 बीटा 1 में, यह 64 बिट वीएम में चलने पर एक विभाजन दोष के साथ विफल हो जाता है।)

मैंने 64-बिट के अलावा ओपनजेडक-6-जेआर के i386-संस्करण को स्थापित करने की कोशिश की, लेकिन यह योग्यता (मौजूदा 64-बिट संस्करण के साथ संघर्ष करता है) कहकर इनकार कर दिया है। यदि मैं 32-बिट संस्करण में Openjdk-jre-7 स्थापित करने का प्रयास करता हूं तो भी ऐसा ही होता है।

क्या मैं एक जावा 32-बिट एप्लिकेशन को चलाने के लिए प्रस्तावित 64 बिट सिस्टम पर एक उत्तर स्थापित कर सकता हूंia32-sun-java6-bin , लेकिन इस नाम के साथ कोई पैकेज नहीं है (या ia32जावा के साथ कुछ भी )।

मैं अपने पूरे सिस्टम जावा इंस्टॉलेशन को 32 बिट पर स्विच किए बिना सोपयूआई को चलाने के लिए यहां क्या कर सकता था?


मैं वास्तव में कुछ अलग पैरामीटर को पारित करने के लिए शेल स्क्रिप्ट को संपादित करके 64-बिट संस्करण के साथ साबुनयूआई को चलाने में कामयाब रहा। मुझे देखना होगा कि मैंने वास्तव में क्या किया।
पाओलो एबरमन

Askubuntu.com/questions/111947/… को रिपॉजिटरी से 64 बिट और 32 बिट जावा दोनों को स्थापित करने के लिए देखें । आप डिफ़ॉल्ट को भी बदल सकते हैं।
user68186

जवाबों:


4

जावा के कई संस्करण स्थापित करना सुपर आसान है। कुछ हद तक कठिन (पढ़ें: थकाऊ) संस्करणों के बीच बदल रहा है।

tldr

  1. apt-get one
  2. दूसरे को नंगा करो
  3. निर्यात पथ जिसके आधार पर आप चाहते हैं

उपयुक्त-एक संस्करण मिलता है

तय करें कि आप किस संस्करण का अधिकतर उपयोग करेंगे। या तय करें कि आपको कौन सा अपडेट करना है। या जो भी हो, एक सिक्का पलटें। आपको उपयोग भी नहीं करना है apt-get; बस अपने सिस्टम पर दोनों पैकेजों को मैन्युअल रूप से बनाए रखें (अगले शीर्षक देखें)।

मुद्दा यह है: जावा जैसे पैकेज के एक संस्करण को बनाए रखने के लिए उबंटू के पैकेज मैनेजर का उपयोग करना आसान है। आप आराम करने वाले हैं।

दूसरे को नंगा करो

एक jdk टारबॉल डाउनलोड करें। इसे निकालें /opt

उनके बीच स्विच करें

मैंने पैकेज प्रबंधक को मेरी प्राथमिक स्थापना को संभालने दिया। जब मुझे इसकी आवश्यकता होती है तो मैं दूसरे के लिए कुछ संस्करण निर्यात करता हूं। मैं कमांड लाइन पर बहुत काम करता हूं, इसलिए यह मेरे लिए ठीक समाधान है। मैं परेशान हूँ:

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

इसके अलावा, मैं सहानुभूति रखता हूं jdk/-> jdk1.6.0_3/क्योंकि मैं आलसी हूं और मेरे .bashrc और अन्य स्क्रिप्ट्स को हर वृद्धिशील jdk अपग्रेड को पुन: कॉन्फ़िगर करना पसंद नहीं करता।

पर्यावरण चर जिसकी आपको परवाह हो सकती है:

JAVA_LIBDIR
JNI_LIBDIR
JAVAJNI_LIBDIR
JVM_ROOT
JAVA_HOME
PATH

क्या आप केवल .debतारकोल के बजाय अन्य वास्तुकला के लिए नहीं मिल सकते हैं ?
0xC0000022L

@ 0xC0000022L विचार यह है कि आपके पास प्रत्येक संस्करण अपनी स्वयं की निर्देशिका में है। यदि आप एक बहस के साथ ऐसा कर सकते हैं, महान!
djikyb

2

स्थापना

सबसे पहले, डाउनलोड सूर्य से नवीनतम 32 बिट JDK (नहीं JRE) उस समय यह मेरे लिए jdk-6u7-linux-i586.bin था।

जावा-पैकेज स्थापित करें:

sudo apt-get install java-package 

अब आपके द्वारा डाउनलोड किए गए बाइनरी से एक .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 

नई JDK का चयन करने के लिए अद्यतन-विकल्प का उपयोग करें। यह मेरे लिए /usr/lib/j2sdk1.6-sun पर स्थापित किया गया था।

sudo update-alternatives --config java 

यदि आप जावा चलाते हैं, तो आपको सही संस्करण देखना चाहिए:

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 बिट ग्रहण

मुझे ग्रहण के 32 बिट संस्करण को फिर से स्थापित करना पड़ा (क्योंकि SWT में मूल कोड शामिल है)। मुझे अपनी ~ / .eclipse निर्देशिका को हटाना पड़ा या ग्रहण शुरू नहीं होगा (इसके लिए किसी भी प्लगइन्स के नए संस्करणों को पुनः इंस्टॉल करना होगा)। अंत में, जावा में नया JRE जोड़ें-> इंस्टॉल किए गए स्थान (/usr/lib/j2sdk1.6-sun) का उपयोग करके स्थापित JREs और इसे डिफ़ॉल्ट के रूप में चुनें।

संदर्भ


धन्यवाद, मैं यह कोशिश करूँगा ... हालांकि मैं नहीं चाहता कि 32-बिट डिफ़ॉल्ट हो, केवल कुछ कार्यक्रमों के लिए इसका उपयोग करें जो 64 बिट के साथ काम नहीं करते हैं।
पाओलो एबरमन

1

या आप केवल ia32-lib स्थापित कर सकते हैं

 apt-get install ia32-libs

x86 jre को अनज़िप करें

http://javadl.sun.com/webapps/download/AutoDL?BundleId=63983

और यदि आप चाहते हैं तो PATH में जोड़ें।


2
ia32-libsubuntu-11.10 आगे की ओर स्थापित करने की अनुशंसित विधि नहीं है। askubuntu.com/questions/107230/…
m-ric
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.