2015-01-25 6 views
8

नहीं उठा रहा है, मैं थोड़ी देर के लिए इस समस्या से जूझ रहा हूं। जब मैं आर से आरजेवा स्थापित करता हूं, तो यह 1.8 के बजाय जावा 1.6 लेता है। मैं मैक ओएस 10.8.5 का उपयोग कर रहा हूं और ये वे कदम हैं जिन्हें मैंने पहले ही कर लिया है।rJava सही जावा संस्करण

मैंने आर
स्थापित किया है मेरे पास मेरी मशीन पर जावा 1.6 और 1.8 दोनों हैं।
मैंने टर्मिनल से आर का पुन: उपयोग किया है: sudo R CMD javareconf -ninstall.packages("rJava", type="source") :

 
Java interpreter : /usr/bin/java 
Java version  : 1.8.0_25 
Java home path : /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre 
Java compiler : /usr/bin/javac 
Java headers gen.: /usr/bin/javah 
Java archive tool: /usr/bin/jar 
Non-system Java on OS X 

 
detected JNI cpp flags : -I$(JAVA_HOME)/../include -I$(JAVA_HOME)/../include/darwin 
detected JNI linker flags : -L$(JAVA_HOME)/lib/server -ljvm 
gcc -arch x86_64 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/../include -I/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/../include/darwin -I/usr/local/include -fPIC -mtune=core2 -g -O2 -c conftest.c -o conftest.o 
gcc -arch x86_64 -std=gnu99 -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/Library/Frameworks/R.framework/Resources/lib -L/usr/local/lib -L/usr/local/lib -o conftest.so conftest.o -L/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/server -ljvm -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation 


JAVA_HOME  : /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre 
Java library path: $(JAVA_HOME)/lib/server 
JNI cpp flags : -I$(JAVA_HOME)/../include -I$(JAVA_HOME)/../include/darwin 
JNI linker flags : -L$(JAVA_HOME)/lib/server -ljvm 

तो मैं आर लिए पर चला गया और इस तरह स्रोत के रूप में rJava पैकेज स्थापित संकलन और एक JNI प ¤ लिंक करने का प्रयास:
यहाँ की तरह क्या उत्पादन लग रहा है और मुझे DONE(rJava)

तब जब मैं संस्करण का उपयोग कर रहा हूं:

 
library(rJava) 
.jinit() 
.jcall("java/lang/System", "S", "getProperty", "java.runtime.version") 

मैं अभी भी 1.6.0_25-b17 के बजाय 1.8

मिल कृपया मुझे पता है अगर आप इस का हल बताएं।

+1

क्या आपने 'विकल्प (java.home ="/path/to/java ") की कोशिश की है? –

+1

'javareconf -n' कुछ भी नहीं करता है - '-n' यह कोई बदलाव नहीं करने के लिए कहता है (आर प्रलेखन देखें) –

उत्तर

8

राजवा के नवीनतम संस्करण ने इस मुद्दे को ठीक कर दिया है। मैं site से नवीनतम संस्करण स्थापित आदेश का उपयोग

install.packages("rJava",,"http://rforge.net/",type="source")

अब JVM फोन करके आउटपुट के रूप में है:

> library(rJava) 
> .jinit() 
> .jcall("java/lang/System", "S", "getProperty", "java.runtime.version") 
[1] "1.7.0_75-b13" 

नोट: मैं जावा 1.7 और 1.6 स्थापित किया है, और नहीं जावा 1.8

+0

यदि आप पैक्रेट का उपयोग कर रहे हैं और बाहरी भंडारों में परेशानी नहीं लेना चाहते हैं, तो मैं वही करने की सलाह देता हूं लेकिन आधिकारिक सीआरएएन रेपो 'install.packages ("rJava", "http://cran.r-project.org", प्रकार = "स्रोत" का उपयोग कर) ' – Mikolaj

संबंधित मुद्दे