问题标签 [java.library.path]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
15077 浏览

java - 在 Eclipse 中使用额外的本机代码库导出到 Runnable jar

我无法将我的 java 项目从 eclipse 导出为 jar 可执行文件。我的 java 项目使用一个外部库(它称为 jri)。我已经导出了 jri.jar 文件并在 eclipse 中为其本地库设置了库路径,它在 eclipse 中的开发中效果很好。但是,当我将其导出为可执行 jar 文件时,出现以下错误:

我已将一个名为 lib 的文件夹与我的项目的 jar 放在同一目录中;此 lib 文件夹包含 jri 的本机库。jri 的原生库不在一个文件中,而是在一个文件夹中。这与我在 Eclipse 中的设置相同。

我在 Eclipse 中导出项目的方式是

我的文件夹是这样组织的

我的 project.jar 的 MANIFEST.MF 是:

我想要实现的是给另一个人一个文件夹,包括 project.jar 和其他任何需要的东西,这样她/他就可以运行它而无需安装任何其他东西。非常感谢

0 投票
1 回答
454 浏览

netbeans - 如何分发 LWJGL jar?

我需要帮助,我按照以下教程设置我的项目。

http://lwjgl.org/wiki/index.php?title=Setting_Up_LWJGL_with_NetBeans

我添加了以下运行命令

我的项目在 netbeans 中效果很好,但是当我双击我收到noClassDefFound异常的 jar 时,我无法分发我的应用程序。

我的 dist 文件夹包含以下 2 个文件,没有本地文件。

/dist/Engine.jar /dist/lib/lwjgl.jar

我确信这是由于我的本地人没有包含在我的 dist 文件夹中,我已经尝试在网上搜索,但我还没有找到有效的解决方案,请你能给我任何帮助,谢谢。

0 投票
1 回答
1581 浏览

java - 如何在 Java 中以编程方式加载 librxtxSerial

我开始使用 arduino 与 Java 交互,这非常简单,但现在我想以编程方式加载 librxtxSerial 本机库,但我不知道。由于我使用的是 MacOS 64 位并使用 Java6,因此我使用了以下 jnilib:http ://blog.iharder.net/2009/08/18/rxtx-java-6-and-librxtxserial-jnilib-on-intel-mac- os-x/在这里推荐:http: //arduino.cc/playground/Interfacing/Java

之后,我尝试像这样以编程方式加载它:

这似乎有效(至少不会引发异常)。

但是当我调用CommPortIdentifier.getPortIdentifier(PORT_NAME);它时,它会引发以下异常:

所以我不明白出了什么问题,因为它似乎是根据以下内容加载它的正确方法:http: //docs.oracle.com/javase/6/docs/api/java/lang/System.html#load( java.lang.String)

任何想法?

PS:您可以在此处找到整个代码:https : //gist.github.com/1853637,前提是 rxtx jar 在类路径中并且定义了本机库位置(就像在 Eclipse 中这样:http://www. eclipsezone.com/eclipse/forums/t49342.html

0 投票
2 回答
1369 浏览

java - 有没有办法在 JAR 中包含本机库,例如在 Java Webstart 中,而不使用 Webstart?

我正在开发一个使用 LWJGL 的游戏,因此需要特定于每个平台的本机库。在此页面上,作者展示了如何使用<nativelib>Java Webstart 标记来包含包含适当本机库的 JAR。我正在尝试做类似的事情,但不使用 Webstart。

我尝试将本机库 JAR 添加到我的主要可执行 JAR 的类路径中,但这不起作用。目前,本机库与主 JAR 位于同一目录中,并且工作正常,但我想让它更整洁一些。

0 投票
2 回答
55835 浏览

java - Can I find out what variable java.library.path maps to on the current platform?

So far I've learned the following about the java.library.path property:

  • It's used when loading native libraries, as opposed to java classes
  • Its default value depends on the operating system:
    • On Windows, it maps to PATH
    • On Linux, it maps to LD_LIBRARY_PATH
    • On OS X, it maps to DYLD_LIBRARY_PATH

(Please correct me if I've misunderstood any of the above)

My motivation:

I want to modify the value of java.library.path seen by a Java application from the framework I've set up to invoke the Java application. I want to do this not by setting the java.library.path property directly, but instead by modifying the system path variable that it maps to. I'd like a clean way to do this that doesn't have ugly OS-specific code or leave out edge cases if possible.

My question:

Is there a way to ask the local Java implementation what environment variable java.library.path maps to?

Then, in a shell script, I'd be able to write something along the lines of:

0 投票
1 回答
2143 浏览

java - 类路径和 java.library.path 之间的区别?如何在linux和windows中设置它?

这是我的问题 - 我弹出错误消息 - “java.library.path 中没有 XXX”//注意:XXX 是 API 的一些 .dll

实际上我正在运行 .jnlp 文件;这将启动 java web start。软件安装说明说安装 jre 32 位才能运行。我使用 64 位的 linux mint 并且已经有 jre 64 用于其他目的。

0 投票
1 回答
1349 浏览

java - 为什么我的 Java 项目可以在 Eclipse 中成功调用我的 DLL,而我将它们放在 JAVA_HOME\jre6\bin 中但使用 java.library.path 失败?

经过一番研究,有人说我可以在我的项目Run Configuration中添加以下VM Argument。在运行时,JVM 将搜索这些目录以查找 DDL。

GunCalibration是我工作区中的 Java 项目文件夹。 DLLs文件夹包含我所有使用我的 JNI 规范定义的 DLL。

结果,我收到此错误:

线程“主”java.lang.UnsatisfiedLinkError 中的异常:D:\Software x64\eclipse3.7\Kai\workspace_RealW\GunCalibration\myLib\DLLs\sixense.dll:找不到依赖库

但是,如果我将一些特定的 dll 文件复制到JAVA_HOME\jre6\bin,我的代码可以正常工作。(我确实将此路径添加到我的系统环境 PATH 中。)

谁能解释为什么使用 java.library.path 的第一种方法不起作用?我怎么知道需要在JAVA_HOME\jre6\bin中放置哪个 ddl ?

非常感谢~

0 投票
2 回答
3197 浏览

java - 线程“AWT-EventQueue-1”java.lang.UnsatisfiedLinkError 中的异常:java.library.path 中没有 jcom

我正在运行用 java 1.4 版本编码的 java 桌面应用程序。我使用 eclipe 作为我的 ide,并尝试在该项目中以 java 1.6 版本运行该应用程序,他们使用 jcom jar 文件将数据导出到 Excel 表。当我尝试单击桌面应用程序中的 excel 按钮时。该功能不起作用并抛出异常。但我在我的项目资源管理器中正确构建路径 jcom jar 存在于引用的库中。任何人都可以帮助我解决这个异常。提前致谢。

线程“AWT-EventQueue-1”中的异常 java.lang.UnsatisfiedLinkError:java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.loadLibrary0(Unknown Source) 的 java.library.path 中没有 jcom .lang.System.loadLibrary(Unknown Source) at jcom.IDispatch.(IDispatch.java:287) at .StockManager.BusinessSheets.exportToExcel(BusinessSheets.java:2302) at .StockManager.BusinessSheets$BusinessSheetPanel$3.mouseClicked(BusinessSheets.java :439) 在 java.awt.AWTEventMulticaster.mouseClicked(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) ) 在 java.awt.Container.processEvent(Unknown Source) 在 java.awt.Component.dispatchEventImpl(Unknown Source) 在 java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt。 LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue。 dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$000(Unknown Source) at java.awt.EventQueue$1.run(Unknown Source) at java.awt.EventQueue$1.run(Unknown Source) at java.security.AccessController java.security.AccessControlContext$1 处的 .doPrivileged(Native Method)。doIntersectionPrivilege(Unknown Source) at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$2.run(Unknown Source) at java.awt.EventQueue$2.run(Unknown Source) at java.security.AccessController .doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at .StockManager.WaitCursorEventQueue.dispatchEvent(WaitCursorEventQueue.java:23) at java.awt。 EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread。java.awt.EventDispatchThread.run(未知源)上的 pumpEvents(未知源)

0 投票
3 回答
70903 浏览

eclipse - 在 Eclipse/PyDev Jython 项目中将 .dll 添加到 java.library.path

我正在尝试在我的 PyDev Jython 项目中使用已编译的 .jar Java 库。

我成功地将 .jar 添加到 PYTHONPATH 并且能够开始使用自动完成工作进行编码。

该库还需要 .dll 扩展名javaHeclib.dll,因此我将其添加到项目的 External Libs 部分。

我可以很好地导入库,但是当我尝试访问它的任何功能时出现错误:

我在运行配置中添加了一个 VM 参数,但没有成功:

我可以使用上面的方法从命令行运行库java.library.path

在 PyDev 控制台中进行实验,我注意到我可以使用绝对路径加载 .dll 扩展名,但不能使用相对路径:

不幸的是,图书馆正在使用System.loadLibrary上面的调用,我无权访问它的源代码。

为什么javaHeclib.dll不在我的java.library.path

编辑

将 设置为java.library.path包含 dll 的目录不允许我使用System.loadLibrary.

(使用正斜杠没有任何区别。)我还尝试更改默认 VM 参数 in eclipse.ini,但没有运气:

0 投票
1 回答
1063 浏览

maven - 使用 Maven 在 Intellij IDEA 中运行单元测试时 zmq 失败

当我在 Intellij IDEA (Ultimate) 11.1 中使用 maven 运行单元测试时。我得到了以下异常。

从互联网搜索后,似乎 zmq 缺少 java.library.path - usr/local/lib。所以我尝试在 maven 的 vm 选项中添加“-Djava.library.path=/usr/local/lib”,但还是不行。

笔记:

  1. 我可以在 bash 中使用“mvn test”通过测试。(我在 ~/.profile 中添加了“export LD_LIBRARY_PATH=/usr/local/lib”)

  2. 我在 pom 而不是 jzmq 中配置了这个,因为我需要在我的项目中使用storm并且storm引用了jzmq。