如何编辑 eclipse.ini 以添加现有的 java.library.path

How to edit eclipse.ini to prepend existing java.library.path

在我的 Ubuntu 15.04 上为 Eclipse Luna 安装 Subclipse SVN 插件期间,我 运行 在安装 JavaHL SVN 界面时遇到问题。 (无法加载 JavaHL 库)

根据 Subclipse' FAQ about JavaHL troubleshooting for Linux,您必须将以下行添加到 eclipse.ini

-Djava.library.path=</path/to/library>

在我的例子中,路径是 /usr/lib/x86_64-linux-gnu/jni

虽然这解决了原来的问题,但它可能会产生新的问题,因为它会覆盖 java.library.path 中的所有内容(在我的例子中是 /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib)。

所以我的问题是应该向 eclipse.ini 写入什么,以便在 java.library.path 的旧状态前添加一条额外的路径。

N.b.: 我不知道 java 库路径是如何估算的,我也不想知道。我也不想硬编码最终值。

经过更多研究并与朋友和同事讨论后,似乎无法自动扩展 eclipse.ini 中的默认值 java.library.path。看来您需要对其进行硬编码。 但是,我相信只覆盖旧配置是一种不受欢迎的方式;至少应该扩展现有路径。以下是关于如何在我的系统上完成的简短描述。

首先,在修改eclipse.ini(即去掉-Djava.library.path=...那一行)之前,运行eclipse,在菜单中点击"Help"->"About Eclipse",单击 "Installation Details",单击选项卡 "Configuration",等到 "retrieving system information..." 消失,向下滚动到第二页并复制包含 java 库路径的行(在我的例子中是是 java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib).

其次,关闭eclipse,打开eclipse.ini,然后追加一行-Djava.library.path=<added path>:<previous path>。在我的例子中,这归结为 -Djava.library.path=/usr/lib/x86_64-linux-gnu/jni:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib.

第三,再次启动eclipse,检查"Configurations"选项卡是否正确设置了新路径。

完成此过程后,我的 SVN 插件将按预期工作。必须记住手动检查 java.library.path 设置,以防系统发生相关更改。