我正在使用Eclipse 2018-09和StatET 3.6.1。我有两个R环境:一个用于R 3.3.2,另一个用于R 3.5.1。当我执行?lm
之类的命令以调用v3.3.2中的帮助页面时,该页面将显示在StatET“R帮助”窗格中,如我所愿。但是,当我执行相同的命令以调用v3.5.1中的帮助页面时,控制台会告诉我“正在启动httpd帮助服务器”,并且该帮助页面会加载到我的浏览器中。使用v3.5.1时,如何获取帮助以在“R帮助”窗格中加载?
无论是否以管理员身份运行Eclipse,以及在启动时是否“自动运行” R 3.5.1,都会出现问题。据我所知,R的两个版本的配置几乎相同:
rj
软件包的2.1版。 options("help_type") == 'html'
。 检查在两个版本的R中使用自动运行时获得的不同日志文件,这表明Derby存在某种StatET配置问题。这些消息仅在我启动R 3.5.1时出现:
!ENTRY de.walware.statet.r.core 4 -1 2018-11-16 02:50:29.092
!MESSAGE An error occurred when initializing DB for model.
!STACK 1
org.eclipse.core.runtime.CoreException: An error occurred when loading embedded DB (Derby + DBCP)
DB ConnectionURL=[path redacted]\eclipse-workspace\.metadata\.plugins\de.walware.statet.r.core\db
[...]
Caused by: java.sql.SQLException: Another instance of Derby may have already booted the database C:\[path redacted]\eclipse-workspace\.metadata\.plugins\de.walware.statet.r.core\db.
[...]
Caused by: ERROR XSDB6: Another instance of Derby may have already booted the database C:\[path redacted]\eclipse-workspace\.metadata\.plugins\de.walware.statet.r.core\db.
但是我不知道该怎么办或如何解决它。
最佳答案
StatET的创建者Stephan Wahlbrink建议在启动时运行以下命令:
registerS3method("print", "help_files_with_topic", rj::print.help_files_with_topic)
我运行了命令,它解决了问题。
(Stephan补充说,我在日志中看到的Derby错误与“R帮助”窗格中显示帮助的问题无关。)