如何为整个Eclipse项目设置java.library.path ?我正在使用一个依赖于操作系统特定文件的Java库,需要找到一个.dll/ .so/ .jnilib。但是应用程序总是退出,并提示在库路径上找不到这些文件。
我想将整个项目配置为使用库路径。我尝试将路径作为VM参数添加到eclipse中的一些运行配置中,但这不起作用。
如何为整个Eclipse项目设置java.library.path ?我正在使用一个依赖于操作系统特定文件的Java库,需要找到一个.dll/ .so/ .jnilib。但是应用程序总是退出,并提示在库路径上找不到这些文件。
我想将整个项目配置为使用库路径。我尝试将路径作为VM参数添加到eclipse中的一些运行配置中,但这不起作用。
单击“运行” 单击Debug… 新Java应用程序 单击参数选项卡 在第二个框(虚拟机参数)中添加-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
等等……
不要打乱库路径!Eclipse自己构建它!
相反,进入项目的库设置,对于每个需要原生库的jar/etc,在Libraries选项卡中展开它。在树视图中,每个库都有用于source/javadoc和本机库位置的项。
具体来说:选择项目,右键单击->属性/ Java构建路径/库选项卡,选择一个。jar,展开它,选择本机库位置,单击编辑,文件夹选择器对话框将出现)
在命令行上打乱库路径应该是您最后的努力,因为您可能会破坏eclipse已经正确设置的某些内容。
对于给定的应用程序启动,您可以按照jim所说的那样做。
如果您想为整个工作空间设置它,也可以在下面设置它
Window->
Preferences->
Java->
Installed JREs
每个JRE都有一个“默认VM参数”(我相信如果为运行配置设置了任何VM参数,则会完全忽略这些参数)。
您甚至可以使用不同的参数设置不同的JRE/ jdk,并让一些项目使用其中一个,其他项目使用另一个。
只需将*.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"));
}
}
除了已批准的答案中描述的方法外,如果您的项目中有单个本地库,则还有另一种方法。
在项目属性->Java Build Path->选项卡“Source”中有一个你的源文件夹列表 对于每个条目,都有“本地库位置”,它也支持工作区中的路径。 这将使Eclipse将其添加到java.library.path中。
我认为设置java.library.path还有另一个原因。Subversion附带了许多库,除非可以追加java.library.path,否则Eclipse不会看到这些库。例如,我在OS-X上,所以库在\opt\subversion\lib下。它们有很多,我想让它们保持在它们所在的位置(而不是将它们复制到标准的lib目录中)。
项目设置不能解决这个问题。
另一个解决方案是打开“运行配置”,然后在“环境”选项卡中,设置一对{路径,值}。
例如,要在项目的根目录添加一个'lib'目录,
Path <- ${workspace_loc:name_of_the_project}\lib
上面的解决方案都不适合我(Eclipse Juno和JDK 1.7_015)。当我将它们从project_folder/lib移动到project_folder时,Java只能找到这些库。
有时我们不能通过直接右键单击项目来获得Java构建路径。 然后转到properties....
然后单击java build path
点击标签添加外部罐子,并给出路径的计算机文件,你已经存储罐子。
最简单的方法是使用eclipse IDE本身。转到菜单并设置构建路径。使它指向您目录中的JAVA JDK和JRE文件路径。之后,您可以检查将要设置编译文件的构建路径。不过默认是在bin文件夹中。最好的方法是允许eclipse自行处理构建路径,并且只对其进行编辑,类似于上面给出的解决方案
下面是另一个解决方案:
我的构建系统(Gradle)添加了一个必需的本机库(dll)到Eclipse构建路径(右键单击项目->属性-> Java构建路径-> Libraries)。告诉构建系统不要将本机dll库添加到Eclipse类路径就解决了这个问题。
我使用的是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 -它是什么以及如何使用