【发布时间】:2012-01-29 08:15:05
【问题描述】:
为了加载 .DLL(在 Windows 下)或 .SO(在 Linux 下),我们必须使用环境变量 PATH (Windows) 或 LD_LIBRARY_PATH (Linux)。
我们能找到正确使用 DLL 和 SO 的唯一方法是在启动 Netbeans 之前定义环境变量。
- 有没有办法在里面指定那些环境变量 网豆?
- 是否可以在项目中指定 特性?这样每个项目都可以有自己的定义。
- 有没有办法只附加到这些环境变量而不是覆盖它们?
背景:我们正在开发一个使用 JNI 访问本地库的 Java 程序。反过来,这些本地库访问其他依赖的本地库。因此,仅设置属性“java.library.path”是行不通的,因为我们还需要设置完整的 LD_LIBRARY_PATH(或在 Windows 的情况下为常规 PATH)。
在 Netbeans 之外,应用程序运行良好,因为我们在 shell 脚本中设置了环境变量。
我们不想仅仅将 DLL 或 SO 放在通常的系统目录中,因为我们不想在开发过程中弄乱操作系统安装。此外,我们希望能够灵活地允许任何开发人员简单地从源代码控制 (Mercurial) 获取项目,并让所有相关路径正常工作。
设置environment variables programmatically in Java 的堆栈溢出问题已经存在。但是,我们正在寻找一种不那么骇人听闻的解决方案。
【问题讨论】:
标签: dynamic netbeans path shared-libraries