gpt4 book ai didi

java - 替换 Linux 上的 Java/lib 目录

转载 作者:太空宇宙 更新时间:2023-11-04 10:53:13 26 4
gpt4 key购买 nike

要运行 java,我需要库 ld-linux.so.3 位于/lib 目录中。我需要这个图书馆坐在不同的地方。我如何指定 java 在不同的目录中查找它?例如/home/dan/libs/

编辑:我尝试运行 java -Djava.library.path=/home/dan/libs

但我仍然得到错误./java: No such file or directory

最佳答案

“java”程序不搜索 ld-linux。 ld-linux 是一个加载程序(因此得名)并在 可执行文件(在本例中为 java)之前运行,甚至启动。这就是为什么是您的 shell 报告 java 无法启动,而不是 java 报告它在初始化某些东西时遇到问题。有一些方法可以改变 ld-linux 搜索可执行文件所需的其他共享库的位置,但它们不能用于 ld-linux 本身,因为(据我们观察)宇宙是因果关系时间流向一个方向。

我没试过,但是对 https://unix.stackexchange.com/questions/17428/moved-bin-and-other-folders-how-to-get-them-back 的公认答案(有人不小心将/lib including/lib/ld-linux* 移到了错误的地方)说你可以显式运行指定的 ld-linux(大概是任何工作的) 并让它运行您的可执行文件,这里是 java(可能带有适当的参数)。

但我想知道为什么您认为需要更改 ld-linux,因为一旦程序运行它实际上就消失了。如果您只想更改加载的内容,LD_LIBRARY_PATH 和 LD_PRELOAD 可以做到这一点,而无需对 ld-linux 进行任何更改。

关于java - 替换 Linux 上的 Java/lib 目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29910963/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com