2014-10-01 63 views
1

當我嘗試使用函數NLStart()從R啓動RNetLogo時。我收到關於java的消息,並且GUI不能打開。我正在使用MacOsX 10.9.5 64位,NetLogo 5.1.0和R 3.1.1。RNetLogo適用於R3.1.1.0?

> library(rJava) 
> library(RNetLogo) 
> nl.path <- "/Applications/NetLogo\ 5.1.0/NetLogo\ 5.1.0.app" 
> NLStart(nl.path, nl.version=5, gui=FALSE) 

java.lang.NoClassDefFoundError: org/nlogo/workspace/Controllable 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:249) 
Caused by: java.lang.ClassNotFoundException 
    at RJavaClassLoader.findClass(RJavaClassLoader.java:383) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
    ... 2 more 

之後,我嘗試用「JGR和推定器和推定器額外」 的代碼和錯誤是:

> install.packages(c("JGR","Deducer","DeducerExtras」)) 
> Sys.setenv(NOAWT=1) 
> library(JGR) 
> Sys.unsetenv("NOAWT") 
> JGR() 

時候開始JGR代碼:

Loading required package: JGR 
Loading required package: rJava 
Loading required package: JavaGD 
Loading required package: iplots 
starting httpd help server ... done 
Loading required package: RNetLogo 
Loading required package: DeducerExtras 
Loading required package: Deducer 
Loading required package: ggplot2 
Use suppressPackageStartupMessages to eliminate package startup messages. 
Loading required package: car 
Loading required package: MASS 
Attaching package: ‘Deducer’ 
Loading required package: irr 
Loading required package: lpSolve 

> nl.path<-"https://stackoverflow.com/users/Pabolo/Applications/NetLogo\ 5.1.0/NetLogo.jar" 
> NLStart(nl.path) 
Error on setwd(nl.path) : you can not change the working directory. 

隨着nl.path是應用程序目錄的路徑 有一些錯誤 我通過JGR運行所有這些()。

> nl.path<-"/Applications/NetLogo\ 5.1.0" 
> NLStart(nl.path) 
Warning: ch.randelshofer.quaqua.util.OSXPreferences failed to load /Users/Pabolo/Library/Preferences/.GlobalPreferences.plist 
java.io.IOException: parseReal: unsupported byte count:128 
    at ch.randelshofer.quaqua.util.BinaryPListParser.parseReal(BinaryPListParser.java:703) 
    at ch.randelshofer.quaqua.util.BinaryPListParser.parseObjectTable(BinaryPListParser.java:424) 
    at ch.randelshofer.quaqua.util.BinaryPListParser.parse(BinaryPListParser.java:315) 
    at ch.randelshofer.quaqua.osx.OSXPreferences.readPList(OSXPreferences.java:176) 
    at ch.randelshofer.quaqua.osx.OSXPreferences.updateCache(OSXPreferences.java:99) 
    at ch.randelshofer.quaqua.osx.OSXPreferences.ensureCached(OSXPreferences.java:90) 
    at ch.randelshofer.quaqua.osx.OSXPreferences.get(OSXPreferences.java:79) 
    at ch.randelshofer.quaqua.osx.OSXPreferences.getString(OSXPreferences.java:45) 
    at ch.randelshofer.quaqua.BasicQuaquaLookAndFeel.initSystemColorDefaults(BasicQuaquaLookAndFeel.java:151) 
    at ch.randelshofer.quaqua.leopard.Quaqua15LeopardLookAndFeel.initSystemColorDefaults(Quaqua15LeopardLookAndFeel.java:208) 
    at ch.randelshofer.quaqua.BasicQuaquaLookAndFeel.getDefaults(BasicQuaquaLookAndFeel.java:76) 
    at javax.swing.UIManager.setLookAndFeel(UIManager.java:520) 
    at javax.swing.UIManager.setLookAndFeel(UIManager.java:564) 
    at org.nlogo.swing.Utils.setSystemLookAndFeel(Utils.java:41) 
    at org.nlogo.app.App.<init>(App.scala:302) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513) 
    at org.picocontainer.injectors.AbstractInjector.newInstance(AbstractInjector.java:147) 
    at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:332) 
    at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:272) 
    at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:354) 
    at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56) 
    at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64) 
    at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91) 
    at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:692) 
    at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:646) 
    at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:671) 
    at org.nlogo.app.App$.main(App.scala:140) 
    at org.nlogo.app.App.main(App.scala) 
    at nlcon.NLink_v5.<init>(NLink_v5.java:96) 
    at org.rosuda.JRI.Rengine.rniRunMainLoop(Native Method) 
    at org.rosuda.JRI.Rengine.run(Rengine.java:640) 
unable to find translation for: edit.viewSettings.2D.frameRate in GUI_Strings for locale: es 
unable to find translation for: edit.viewSettings.2D.frameRate.info in GUI_Strings for locale: es 
> 
+0

不應該nl.path只是路徑而不是應用程序的目錄? (根據你的第一個參考)。這個軟件包與它的控制方式有點相似,但我認爲這是你的修復。我不使用mac,但是這個def在3.1.0中工作 – mdsumner 2014-10-01 12:03:22

+0

有一些錯誤。是Java,MacOsx,RNetlogo和R ???之間的問題。我做的每件事都對嗎? – pabolo1974 2014-10-01 15:07:10

+0

您可能需要直接將問題的URL發送給R擴展的維護人員,以便在此處獲得他們的關注;我不認爲他們監視堆棧溢出。 – 2014-10-01 15:41:20

回答

0

您必須將路徑更改爲:nl.path <- "/Applications/NetLogo 5.3/app"

他們已經更改了目錄結構,以便netlogo jar文件現在位於'app'子目錄中。

來源:https://stackoverflow.com/a/34837036/468305

希望幫助,它爲我工作。