我正在使用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的两个版本的配置几乎相同:

  • 都在运行Windows 10和JRE 1.8.0_121。
  • 两者均带有rj软件包的2.1版。
  • 对于这两者,我都选中了“运行配置> R控制台> R控制台> Eclipse集成”中的每个框,包括“为StatET启用R帮助”。
  • 对于这两者,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帮助”窗格中显示帮助的问题无关。)

    09-26 07:59