2

我正在使用 Eclipse 2018-09 和 StatET 3.6.1。我有两个 R 环境:一个用于 R 3.3.2,另一个用于 R 3.5.1。当我在 v3.3.2 中执行类似?lm调用帮助页面的命令时,该页面会按照我的意愿出现在 StatET“R 帮助”窗格中。但是当我在 v3.5.1 中执行相同的命令来调用帮助页面时,控制台会告诉我“正在启动 httpd 帮助服务器”,并且帮助页面会在我的浏览器中加载。使用 v3.5.1 时,如何在“R 帮助”窗格中获得加载帮助?

无论我是否以管理员身份运行 Eclipse,以及是否在启动时“自动运行”R 3.5.1,都会出现问题。据我所知,两个版本的 R 的配置几乎相同:

  • 两者都运行 Windows 10 和 JRE 1.8.0_121。
  • 两者都带有 2.1 版的rj软件包。
  • 对于这两者,我都选中了“运行配置 > R 控制台 > R 控制台 > Eclipse 集成”中的每个框,包括“为 StatET 启用 R 帮助”。
  • 对于两者,options("help_type") == 'html'.

检查我在两个版本的 R 中使用 Auto Run 时获得的不同日志文件表明存在某种与 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.

但我不知道如何解决这个问题或如何解决它。

4

1 回答 1

0

StatET 的创建者 Stephan Wahlbrink 建议在启动时运行此命令:

registerS3method("print", "help_files_with_topic", rj::print.help_files_with_topic)

我运行了命令,它解决了问题。

(Stephan 补充说,我在日志中看到的 Derby 错误与在“R 帮助”窗格中显示帮助的问题无关。)

于 2018-11-19T18:45:35.257 回答