我正在尝试通过我的mac 10.10.6上的rStudio 0.99.903在R 3.3.1上运行NetLogo 5.3.1。我还安装了Java 1.8.0_77-b03
> system("java -version")
java version "1.8.0_77"
Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)
> .jinit()
> .jcall("java/lang/System", "S", "getProperty", "java.runtime.version")
[1] "1.8.0_77-b03"
>
> Sys.getenv('JAVA_HOME')
[1] ""
> Sys.getenv('LD_LIBRARY_PATH')
[1] ":@JAVA_LD@"
我也在运行RNetLogo_1.0-2和rJava_0.9-9。
R version 3.3.1 (2016-06-21)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.11.6 (El Capitan)
locale:
[1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] RNetLogo_1.0-2 igraph_1.0.1 rJava_0.9-9
loaded via a namespace (and not attached):
[1] magrittr_1.5 rsconnect_0.5 tools_3.3.1
我在网上吃午餐时得到的错误如下。
> nl.path <- ("/Applications/NetLogo 5.3.1/Java")
> ### Start NetLogo
> NLStart(nl.path)
java.awt.HeadlessException
at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:204)
at java.awt.Window.<init>(Window.java:536)
at java.awt.Frame.<init>(Frame.java:420)
at java.awt.Frame.<init>(Frame.java:385)
at javax.swing.SwingUtilities$SharedOwnerFrame.<init>(SwingUtilities.java:1758)
at javax.swing.SwingUtilities.getSharedOwnerFrame(SwingUtilities.java:1833)
at javax.swing.JOptionPane.getRootFrame(JOptionPane.java:1696)
at javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:863)
at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:666)
at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:637)
at nlcon.NLink.<init>(NLink.java:109)
我已尝试过几种解决方案,我在StackExchange或此处找到了这些解决方案。
http://conjugateprior.org/2014/12/r-java8-osx/
http://charlotte-ngs.github.io/2016/01/MacOsXrJavaProblem.html
https://github.com/snowflakedb/dplyr-snowflakedb/wiki/Configuring-R-rJava-RJDBC-on-Mac-OS-X
http://stackoverflow.com/questions/35179151/cannot-load-r-xlsx-package-on-mac-os-10-11
http://stackoverflow.com/questions/14915898/rnetlogo-function-nlstart-fails-to-launch-gui
他们都没有在我的电脑上工作过......
有没有人知道我应该怎样做才能使这项工作?
谢谢!
PS1 / I与从mac shell运行R的结果完全相同。
PS2 /我已经安装了java 1.6并经过测试后看到了这个问题并且没有做任何更改我删除了它。
答案 0 :(得分:2)
正如有人评论(我真的不知道为什么他们没有发布答案)问题的关键是我使用了错误的软件包来启动NetLogo。
首先,必须确保R具有正确的Java Home集。所以在mac shell上运行它。
lookup_url_kwarg
然后,在R shell / console上,我们必须以源代码方式安装rJava,以便使用我们的Java位置和版本进行编译。
R CMD javareconf
然后我们必须安装JGR
install.packages("rJava", type="source", repos="http://cran.us.r-project.org”)
然后运行并打开JGR控制台。
install.packages("JGR")
在那里表单...我们在JGR控制台上运行其余的脚本/命令。
require(JGR)
### Start JGR
JGR()
它应该工作。
PS /你可以阅读here,NetLogo for mac和linux不支持这个功能