如何为整个 Eclipse 项目设置 java.library.path
?我正在使用依赖于操作系统特定文件的 Java 库,需要找到 .dll/
.so/
.jnilib
。但是应用程序总是退出并显示在库路径中找不到这些文件的错误消息。
我想将整个项目配置为使用库路径。我尝试将路径作为 VM 参数添加到 eclipse 中的某些运行配置中,但这不起作用。
不要乱用库路径! Eclipse 自己构建它!
相反,进入项目的库设置,对于需要本机库的每个 jar/etc,在库选项卡中展开它。在那里的树视图中,每个库都有源/javadoc 和本机库位置的项目。
具体:选择Project
,右键->; Properties / Java Build Path / Libraries 选项卡,选择一个 .jar,展开它,选择 Native library location,点击编辑,会出现文件夹选择对话框)
在命令行上弄乱库路径应该是你最后的努力,因为你可能会破坏 eclipse 已经正确设置的东西。
https://i.stack.imgur.com/zeFNt.png
如果要将其添加为 VM 参数,请确保在其前面加上 -D
:
-Djava.library.path=blahblahblah...
除了批准的答案中描述的方式外,如果您的项目中有单个本机库,还有另一种方式。
在 Project properties->Java Build Path->Tab "Source" 中有一个源文件夹列表
对于每个条目,都有“本机库位置”,它还支持工作空间内的路径。
这将使 Eclipse 将其添加到您的 java.library.path。
对于给定的应用程序启动,您可以按照 jim 的说明进行操作。
如果要为整个工作区设置,也可以在下面设置
Window->
Preferences->
Java->
Installed JREs
每个 JRE 都有一个“默认 VM 参数”(如果为运行配置设置了任何 VM 参数,我相信它会被完全忽略。)
您甚至可以使用不同的参数设置不同的 JRE/JDK,让一些项目使用一个,其他项目使用另一个。
您只需将 -Djava.library.path=yourPath
添加到 eclipse.ini
。
只需将 *.dll
文件添加到您的 c:/windows
您可以从以下代码中获取 java.library.path:然后在您获得的任何路径下添加 dll 文件
import java.util.logging.Logger;
public class Test {
static Logger logger = Logger.getLogger(Test.class.getName());
public static void main(String[] args) {
logger.info(System.getProperty("java.library.path"));
}
}
c:/windows
的想法向我证明,这只是一个路径问题,而不是 DLL 的问题。
上述解决方案都不适合我(Eclipse Juno with JDK 1.7_015)。当我将它们从 project_folder/lib 移动到 project_folder 时,Java 只能找到这些库。
我认为想要设置 java.library.path
还有另一个原因。 Subversion 带有许多库,除非可以附加 java.library.path
,否则 Eclipse 不会看到这些库。例如,我在 OS-X 上,所以库在 \opt\subversion\lib
下。它们有很多,我想将它们保留在原处(不要将它们复制到标准的 lib 目录中)。
项目设置无法解决此问题。
单击 Run 单击 Debug ... New Java Application 单击第二个框(VM Arguments)中的 Arguments 选项卡,添加 -D 条目
-Xdebug -verbose:gc -Xbootclasspath/p:jar/vbjorb.jar;jar/oracle9.jar;classes;jar/mq.jar;jar/xml4j.jar -classpath -DORBInitRef=NameService=iioploc://10.101.2.94:8092/NameService
ETC...
另一种解决方案是打开“运行配置”,然后在“环境”选项卡中,设置一对{Path,Value}。
例如添加一个位于项目根目录的“lib”目录,
Path <- ${workspace_loc:name_of_the_project}\lib
-Djava.library.path
?
请记住在 PATH 中包含本机库文件夹。
我正在使用 Mac OS X Yosemite 和 Netbeans 8.02,我遇到了同样的错误,我找到的简单解决方案就像上面一样,当您需要在项目中包含本机库时,这很有用。对 Netbeans 执行以下操作:
1.- Right click on the Project
2.- Properties
3.- Click on RUN
4.- VM Options: java -Djava.library.path="your_path"
5.- for example in my case: java -Djava.library.path=</Users/Lexynux/NetBeansProjects/NAO/libs>
6.- Ok
我希望它对某人有用。我找到解决方案的链接在这里:java.library.path – What is it and how to use
https://i.stack.imgur.com/ewKXd.png
https://i.stack.imgur.com/u5gqH.png
https://i.stack.imgur.com/HwIOT.png
单击选项卡添加外部 jar 并提供您存储 jar 的计算机文件的路径。
这是另一个修复:
我的构建系统(Gradle)向 Eclipse 构建路径添加了一个必需的本机库(dll)(右键单击项目 -> 属性 -> Java 构建路径 -> 库)。告诉构建系统不要将本机 dll 库添加到 Eclipse 类路径解决了这个问题。
您可以在 Eclipse 中添加 vm 参数。
例子 :
-Djava.ext.dirs=cots_lib
其中 cots_lib
是您的外部文件夹库。
最简单的方法是使用 Eclipse IDE 本身。转到菜单并设置构建路径。使其指向您目录中的 JAVA JDK 和 JRE 文件路径。之后,您可以检查要设置编译文件的构建路径。默认情况下在 bin 文件夹中。最好的办法是让 eclipse 自己处理构建路径,并且只编辑它类似于上面给出的解决方案