jna.library.path是否使用任何环境变量?

时间:2013-03-13 20:43:46

标签: java jna

在OS X 10.8.2上,我正在使用JNA和gstreamer-java(通过Eclipse IDE)来加载gstreamer库。起初我使用gstreamer.com提供的SDK安装了gstreamer。但是,我卸载了它并使用Macports来安装它。

将SDK的libs 安装到: /System/Library/Frameworks/GStreamer.framework/Versions/0.10-x64/lib

但该目录不再存在。

Macports将libs安装到:

/opt/local/lib

现在,我想通过一些环境变量将java设置为知道这个位置。这可能吗?看来是这样,因为运行这一行:

System.out.println( System.getProperty("jna.library.path"));

显示/System/Library/Frameworks/GStreamer.framework/Versions/0.10-x64/lib。但我不能为我的生活找出设定的地方。它未设置为运行时VM参数。我的$ PATH和$ DYLD_LIBRARY_PATH,$ LD_LIBRARY_PATH没有设置此目录。它们实际上有我想要的路径,/opt/local/lib/设置它似乎没有效果。运行env也不会显示带有Framework路径的变量。

所以,jna.library.path。它是外部设置的吗?如何更改它 - 无需在运行时或通过java命令行参数设置它?告诉我符号链接的零点。

修改

通过gstreamer-java的文件搜索导致我gstreamer-java.spec,其中包含以下内容:

sed -i [...] -e "s,\(run.jvmargs=-Djna.library.path=\).*,\1%{_libdir}:$(pkg-config --variable=pluginsdir gstreamer-0.10),"

运行包含的命令pkg-config --variable=pluginsdir gstreamer-0.10让我知道:

/opt/local/lib/gstreamer-0.10

哪个是插件的正确路径。进一步运行pkg-config --print-variables gstreamer-0.10给了我所有这些:

typelibdir
datarootdir
exec_prefix
pluginsdir
datadir
prefix
libdir
includedir
girdir
toolsdir

哪些都在正确的/opt/local/目录下或之下。

1 个答案:

答案 0 :(得分:0)

您是否尝试过在Eclipse之外运行?