java.library.path 在 linux 上运行时错位

标签 java linux runtime java.library.path

在运行时设置 java.library.path 没有任何作用:

public class Test{
public static void main(String []args){
    System.out.println(System.getProperty("java.library.path"));
}
}

我像这样运行测试(之前构建过它):

user:~$ sudo java -d64 Test -Djava.library.path=./Music/

输出是:

/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib

我做错了什么?这发生在其他人身上吗?

另外,我尝试在命令行中设置,结果相同:

user:~$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./Music/
user:~$ echo $LD_LIBRARY_PATH
> ./Music
user:~$ java -XshowSettings:properties
Property settings:
....
java.library.path = ./Music
    /usr/java/packages/lib/amd64
    /usr/lib64
    /lib64
    /lib
    /usr/lib

最佳答案

sudo java -Djava.library.path=./Music/ -d64 Test 

Et voila :-) “-D”必须在您的程序名称之前

关于java.library.path 在 linux 上运行时错位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19565607/

相关文章:

java - 使用 SpringRestGraphDatabase API 在事务中工作

Java GUI 调整图像大小

java - 使用 Point2D.double 类型的对象的 setLocation 时出现空指针异常

linux - Boxcryptor 和 CloudFogger 等加密服务如何工作?

ruby-on-rails - RoR项目的Linux服务器安装

java - 根据逻辑条件过滤数组的有效方法是什么?

java - 如何监听firebase数据库中添加的节点

linux - 即使循环指向输出文件,echo 命令也会显示在屏幕上

C、运行时测试 PATH 中是否存在可执行文件

Android 绝对布局/参数(在运行时移动小部件)