क्या वहां कोई है जो ओआरएक्स जावा 1.7 के साथ ओएस एक्स 10.7.4 पर काम करने के लिए आरजेएए 0.9-3 प्राप्त करने में कामयाब रहा है?ओआरएक्स जावा 1.7 के साथ ओएस एक्स 10.7.4 पर काम करने के लिए आरजेएए 0.9-3 कैसे प्राप्त करें?
R version 2.15.2 (2012-10-26) -- "Trick or Treat" Platform
x86_64-apple-darwin9.8.0/x86_64 (64-bit)
java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)
मैंने r.pava को install.packages फ़ंक्शन और आर 2.15.2 के साथ कमांड लाइन इंस्टॉल करके स्थापित किया है। मुझे कोई त्रुटि नहीं है।
$ R CMD INSTALL rJava
* installing to library ‘/Library/Frameworks/R.framework/Versions/2.15/Resources/library’
* installing *binary* package ‘rJava’ ...
* DONE (rJava)
$
अगर मैं जावा पसंद का उपयोग सूची में पहले 1.7 डाल दिया, लेकिन "पर" 1.6 छोड़ने के लिए, rJava हमेशा 1.6 शुरू होता है।
अगर मैं जावा पसंद का उपयोग 1.7 पहले डाल दिया और 1.6 बंद करने के लिए, rJava करता है:
> library(rJava)
> .jinit()
JavaVM: requested Java version ((null)) not available. Using Java at "" instead.
JavaVM: Failed to load JVM: /bundle/Libraries/libserver.dylib
JavaVM FATAL: Failed to load the jvm library.
Error in .jinit() : JNI_GetCreatedJavaVMs returned -1
>
हालांकि, इस प्रणाली का उपयोग करके, अपने आप में आर जावा 1.7 पाता है।
> system("java -version")
java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)
>
1,7 /System/Library/Java/JavaConfig.plist में एक विशेष प्रविष्टि की आवश्यकता है?
क्या संस्करण निर्देशिका को 1.7 के लिए tweaking की आवश्यकता है? यह अजीब है कि चालू खाता है, जो 1.7 के साथ समाप्त होता है, जबकि CurrentJDK पथ 1.7 फ़ाइलों को सीधे ओर इशारा करते हुए के साथ या/usr/bin करने के लिए चलाए javareconf यहां तक कि आर अध्यक्ष एवं प्रबंध निदेशक के साथ 1,6
$cd /System/Library/Frameworks/JavaVM.framework/Versions/
$ls -la
total 64
drwxr-xr-x 11 root wheel 374 Sep 26 10:10 .
drwxr-xr-x 11 root wheel 374 Nov 26 09:24 ..
lrwxr-xr-x 1 root wheel 10 Sep 26 10:09 1.4 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Sep 26 10:09 1.4.2 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Sep 26 10:09 1.5 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Sep 26 10:09 1.5.0 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Sep 26 10:09 1.6 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Sep 26 10:09 1.6.0 -> CurrentJDK
drwxr-xr-x 8 root wheel 272 Nov 26 09:24 A
lrwxr-xr-x 1 root wheel 1 Sep 26 10:09 Current -> A
lrwxr-xr-x 1 root wheel 59 Sep 26 10:09 CurrentJDK -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
को मैप किया है/को जाता है जावा पथ, जावा अभी भी जावा 1.7 नहीं ढूंढ या शुरू कर सकते हैं।
क्या 1.7 को JAVA_LD_LIBRARY_PATH चर सेट की आवश्यकता है?
Makeconf:JAVA = /usr/bin/java
Makeconf:JAVAC = /usr/bin/javac
Makeconf:JAVAH = /usr/bin/javah
Makeconf:JAVA_HOME = /Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/jre
Makeconf:JAVA_LD_LIBRARY_PATH =
Makeconf:JAVA_LIBS = -framework JavaVM
Makeconf:JAVA_CPPFLAGS = -I$(JAVA_HOME)/include
Makeconf:JAR = /Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/bin/jar
Makeconf:JAVA = /Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/jre/bin/java
Makeconf:JAVAC = /Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/bin/javac
Makeconf:JAVAH = /Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/bin/javah
Makeconf:JAVA_HOME = /Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/jre
Makeconf:JAVA_LD_LIBRARY_PATH =
Makeconf:JAVA_LIBS = -framework JavaVM
Makeconf:JAVA_CPPFLAGS = -I$(JAVA_HOME)/include
किसी भी मदद
अद्यतन 1 के लिए धन्यवाद:
मैं आँकड़े-rosuda-devel सूची पर इस पूछा और साइमन Urbanek से निम्नलिखित प्रतिक्रिया मिली है। मुझे नहीं लगता कि जावा और लिनक्स में जावा 1.7 के स्रोत से संकलन की आवश्यकता के साथ एक ही समस्या है, क्योंकि हम इसे विंडोज और लिनक्स पर चला रहे हैं और उन्हें राजवा को संकलित करने की आवश्यकता नहीं है।
--- बोली शुरू
--- आप द्विआधारी जो प्रणाली जावा (जो आपके सिस्टम पर 1.6 है के खिलाफ संकलित किया गया है का उपयोग कर रहे हैं: मैं एक बार मैं यह कोशिश करने का मौका दिया वापस रिपोर्ट देंगे) - इसलिए यदि आप जावा 1.6 को हटाते हैं तो आप इसे तोड़ देंगे। यदि आप जावा 1.7 का उपयोग करना चाहते हैं, तो आपको जावा 1.7 के लिए आर को फिर से कॉन्फ़िगर करना होगा और उन सेटिंग्स का उपयोग करने के लिए rjava को फिर से संकलित करना होगा। ध्यान दें कि ओरेकल का जावा सिस्टम जावा (/System/Library/Frameworks/JavaVM.framework) की तुलना में पूरी तरह से अलग जगह (/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk) में रहता है, इसलिए यह अदला-बदली नहीं है।
इसके अलावा, ओरेकल जावा 1.7 एक ढांचा नहीं है, यह एक बड़ी गड़बड़ी है जिसे वास्तव में ओएस एक्स के लिए डिज़ाइन नहीं किया गया था, इसलिए आपको इसे लिनक्स जैसी सेटिंग्स में हाथ से सेट करना होगा - यह बहुत दर्दनाक है। इसके अलावा यह ओवरराइड की आवश्यकता है ... इसलिए यदि आप वास्तव में नीचे खरगोश की मांद जाना चाहते हैं, यह है कि क्या मेरे लिए काम किया है:
JAVA_LD_LIBRARY_PATH =/पुस्तकालय/जावा/JavaVirtualMachines/jdk1.7.0_09.jdk/सामग्री/होम/jre/lib/server JAVA_LIBS = '- एल/लाइब्रेरी/जावा/जावा वर्चुअल माचिन/jdk1.7.0_09.jdk/सामग्री/होम/जेआर/lib/server -ljvm' JAVA_CPPFLAGS = '- I/Library/Java/JavaVirtualMachines/jdk1। 7.0_09।जेडीके/सामग्री/होम/शामिल- I/लाइब्रेरी/जावा/जावा वर्चुअल माचिन/जेडीके 1.7.0_09.जेडीके/सामग्री/होम/शामिल/डार्विन 'आर 64 सीएमडी जवायरफ़ोन
फिर स्रोतों से आरजेएवी स्थापित करें (R64 -> install.packages ("rJava", type = 'स्रोत'))। ध्यान दें कि यह केवल 64-बिट है, तो यह केवल 64-बिट आर
---- अंत उद्धरण के साथ काम करेंगे ---
मेरे पास कोई विशेष अंतर्दृष्टि नहीं है, लेकिन आप स्रोत से आरजेएवी स्थापित करना चाहते हैं, या आंकड़े-रोसुडा-डेवेल मेलिंग सूची को आजमा सकते हैं। –
मैंने सूची में पूछा था और अभी एक जवाब प्राप्त हुआ है। मैं इसे उपरोक्त मूल प्रश्न में जोड़ दूंगा। – Tod
साइमन के उत्तर के साथ इसे अपडेट करने के लिए धन्यवाद। अगर यह पार्श्व स्क्रॉलिंग के साथ कोड-प्रारूप में नहीं है तो इसे पढ़ना आसान है। –