如何从Eclipse中设置java.library.path
我如何设置整个Eclipse项目的java.library.path? 我正在使用依赖于操作系统特定文件的Java库,并且需要查找.dll / .so / .jnilib。 但应用程序总是退出,并显示错误消息,指出这些文件在库path中找不到。
我想configuration这个整个项目来使用库path。 我试图添加path作为虚拟机参数在Eclipse中的一些运行configuration,但没有奏效。
不要乱用图书馆的path! Eclipse自己构build它!
相反,进入项目的库设置,对于需要本地库的每个jar / etc,请在“ 库”选项卡中展开它。 在那里的树形视图中,每个库都有用于source / javadoc和本机库位置的项目。
具体来说:selectProject
,右键 – > Properties / Java Build Path / Libraries选项卡,select一个.jar,展开它,selectNative library location ,点击Edit ,会出现文件夹select器对话框)
在命令行中使用库path应该是你最后的努力,因为你可能会破坏已经由eclipse正确设置的东西。
如果您将其添加为虚拟机参数,请确保将其作为前缀加上-D
:
-Djava.library.path=blahblahblah...
除了在批准的答案中描述的方式之外,如果您的项目中只有一个本地库,还有另一种方法。
- 在项目属性 – > Java构buildpath – >选项卡“源”有你的源文件夹的列表
- 对于每个条目,都有“本地库位置”,它也支持工作区内的path。
- 这将使Eclipse将其添加到您的java.library.path。
对于一个给定的应用程序启动,你可以这样做,因为吉姆说。
如果你想为整个工作区设置,你也可以在下面进行设置
Window-> Preferences-> Java-> Installed JREs
每个JRE都有一个“默认虚拟机参数”(如果有任何虚拟机参数设置为运行configuration,我相信这个参数会被完全忽略)。
您甚至可以设置不同参数的JRE / JDK,并有一些项目使用一个,其他项目使用另一个。
您可以简单地将-Djava.library.path=yourPath
添加到eclipse.ini
。
只需将* .dll文件添加到您的c:/ windows
你可以从下面的代码中得到java.library.path:然后添加你的dll文件在你得到的任何path下
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.library.path的原因。 Subversion带有许多库,除非java.library.path可以附加,否则Eclipse将不会看到这些库。 例如,我在OS-X上,所以这些库位于\ opt \ subversion \ lib下。 有很多他们,我想保持他们在哪里(不复制到一个标准的lib目录)。
项目设置不会解决这个问题。
上述解决scheme都不适用于我(JDK 1.7_015的Eclipse Juno)。 当我将它们从project_folder / lib移动到project_folder时,Java只能find这些库。
点击运行
点击debugging…
新的Java应用程序
点击参数选项卡
在第二个框(VM 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
等等…
另一个解决scheme是打开“运行configuration”,然后在“环境”选项卡中,设置情侣{path,价值}。
例如要添加一个位于项目根目录的“lib”目录,
Path <- ${workspace_loc:name_of_the_project}\lib
请记住在PATH中包含本地库文件夹。
我使用的是Mac OS X Yosemite和Netbeans 8.02,我得到了同样的错误,我发现的简单解决scheme就像上面这样,当你需要将本地库包含在项目中时,这是非常有用的。 那么下一个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
我希望这对某个人有用。 我find解决scheme的链接在这里: java.library.path – 它是什么以及如何使用
有时我们不直接右键单击项目就可以获得Java Build Path。 然后去属性….
然后点击java构buildpath
点击标签添加外部jar子,并给你的计算机文件的path,你已经存储jar子。
这是另一个修复:
我的构build系统(Gradle)添加了一个所需的本地库(dll)到Eclipse构buildpath(右键单击项目 – >属性 – > Java构buildpath – >库)。 告诉构build系统不要将本地dll库添加到Eclipse类path中解决了这个问题。
最简单的方法就是使用eclipse IDE本身。 转到菜单并设置构buildpath。 使其指向目录中的JAVA JDK和JRE文件path。 之后,您可以检查将要设置编译文件的构buildpath。 在bin文件夹默认情况下。 最好的办法是让Eclipse自己处理构buildpath,只需要编辑它就像上面给出的解决scheme