问题标签 [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 投票
2 回答
7223 浏览

java-native-interface - 如何在火花中使用jni?

我想用 jni 在 spark 中调用我的 c++ lib。当我运行我的程序时,它显示 java.lang.UnsatisfiedLinkError: no hq_Image_Process in java.library.path ,所以显然程序找不到我的 hq_Image_Process.so 。

在 hadoop 中,-files 可以像这样将 xxx.so 文件分发给从属服务器:

有什么方法可以像 spark 中的 hadoop 一样调用我的 hq_Image_Process.so 吗?我将不胜感激任何帮助。

0 投票
1 回答
839 浏览

macos - 在mac os x上的.app内运行时获取jar的路径

我的 javafx jar 在 .app 中运行。现在,如果我执行 System.getProperty("user.dir") ,我会得到用户主页的位置,即 /Users/DevAccount/ 其中 DevAccount 是系统用户名,而不是 .app 文件或 .jar 文件的位置。如何在运行时找到 .app 实际运行的位置?

或者,请建议如何将 java.library.path 设置为 .app 包中的文件夹。

注意:如果我在 .app 之外运行 jar,我可以根据需要设置 java.library.path,但是当运行 .app 时,user.dir 系统属性不会返回所需的值。

0 投票
3 回答
13884 浏览

java - 从类路径加载本机库

我有一个遵循标准目录布局的项目设置(虽然不使用 Maven):

本机 DLL 位于资源文件夹中,源代码位于 java 文件夹中。资源文件夹是 Java 类路径的成员。

我现在想加载一个 DLL,而不必设置 JRE-Djava.library.path选项或设置PATH变量,因此只需双击即可启动生成的 jar 文件。

是否可以在运行jar文件时将资源文件夹添加到库搜索路径而无需进行额外配置?例如,设置类似于Class-Path清单中的设置?

0 投票
1 回答
1334 浏览

java - 如何在运行时配置 java.library.path?

在我的项目中,我需要在运行时配置 java.library.path。Java给了我这样的能力吗?

0 投票
1 回答
127 浏览

java - 您将 Web 应用程序的本地库放在哪里(在 Caucho Resin 中)?

Web 应用程序的本地库在哪里,以便 Resin 加载它们?

0 投票
1 回答
8270 浏览

java - java.library.path 和 classpath 有什么关系

我正在寻找 java.library.path 和类路径之间关系的简单解释。虽然我几乎不是新手,但我从来不用弄乱 jlp 但是我们在使用我参与的 WebSphere MQ 应用程序时遇到了问题,我们想打开他们的跟踪。不幸的是,一旦我告诉 IBM 我们已经重新打包了 MQ jar 以便我们可以通过 Maven 进行部署,他们甚至不会跟我谈论这个问题,除非我们使用 java.library.path 加载 WebSphere MQ jar。

太好了,让我们重做整个部署策略。我可以咬紧牙关,但这是我的问题:

java.library.path 和 classpath 之间有什么关系?在 jlp 上找到的类对编译器可见吗?你必须在编译器的命令行上指定jlp吗?你能在 jlp 和类路径上都指定这些类吗?哪个优先。

并且请不要因为研究不足而对这个问题嗤之以鼻。我当然搜索过“java.library.path”。当然是数以万计的点击量。我尝试进行高级谷歌搜索,将表达式限制为 oracle.com 站点。仍然有数以万计的点击量。我试着用谷歌搜索这两个术语。得到很多质量可疑的新手解释。我试过搜索java语言规范。没有命中。

我想要一个简洁而权威的解释。有人可以指点我吗?

更新- IBM 坚持认为,除非我使用 -Djava.library.path={path to MQ jars} 加载我的应用程序,否则他们的 MQ 跟踪工具将无法工作,尽管有服务合同,除非我这样做,他们甚至不会支持我这边走。然而,当然,我有引用这些类并且必须编译的代码。这就是这个问题背后的动机。

0 投票
2 回答
136 浏览

java - 向库中添加额外资源

我是 Java 新手,所以我的问题对你来说可能很简单。但我一直在努力解决这个问题。

我不是在写我的代码。它来自 MATSim。他们的代码有两个版本:一个来自 2009 年,另一个来自 2013 年。

请看这个截图:

如果 tis 图片不起作用,请通过高音扬声器查看:ScreenShot

我已经下载了 2013 版本并根据指南添加了它的库。但是 Eclipse 中的代码是 2009 年的代码,正如您所见,该代码所需的一些类已从 2013 库中删除。

幸运的是,我从他们的档案中找到了他们的 .java 文件。我尝试将它们放在 .jar 文件夹中,并通过 >>> properties/Java Build Path 将它们添加到库中。但这对我不起作用。

我想知道你是否在这件事上帮助我。如果你知道怎么做,请帮助我如何更改上述代码中的文件路径。仅手动更改路径就足够了吗?

非常感谢您的帮助。

谢谢你,索玛耶

0 投票
1 回答
681 浏览

spring - 嵌入在 Spring 工具中的 tc 服务器无法加载 JNI 共享库

启动执行“”的 Spring bean 时,vFabric tc 服务器无法加载我的 JNI 库System.loadLibrary("...")。实际上,我需要从部署在 vFabric tcServer 版 (STS) Spring Tools Suite 中的 Spring bean 中执行一些 JNI 共享库。

尽管我遵循了“为 vFabric tc Server (2030216) 自定义环境或 JVM 选项”中的建议,但仍然不断弹出错误:“ nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [my.JniServiceFactory]: Constructor threw exception; nested exception is java.lang.UnsatisfiedLinkError: no myJNIsharedLib in java.library.path

我进一步发现wrapper.log了 tc 服务器实例.../bin/winx86_64目录中的文件错误:Unable to open configuration file. C:\java\SpringTools\vfabric-tc-server-developer-2.9.6.RELEASE\base-instance\bin\winx86_64\wrapper.conf 并且在命令行执行包装器时还发现了错误:wrapper -q ..\..\conf\wrapper.conf, yielding wrapper | OpenSCManager failed - Access is denied. (0x5),这表明存在 UAC 问题。所以我将我的 Windows 帐户提升为管理员,甚至关闭了 UAC ......这解决了 wrapper.exe 错误,但在 tc 服务器中启动我的应用程序时没有解决 UnsatisfiedLinkError。

我还在setenv.battc 服务器实例目录下发现了一个 ' ' 文件,其中包含set JAVA_LIBRARY_PATH=邀请您定义它的行 ' ',但没有效果。我还尝试在我的系统属性下设置一个全局环境变量 JAVA_LIBRARY_PATH ,因此在启动 Spring Tools 然后启动 tc 服务器时可用......没办法。

0 投票
1 回答
1407 浏览

java - 在 Eclipse 中从 build.xml 文件导入库

我正在开发一个 java 应用程序,我需要使用 jnativehook 库。我已经从https://code.google.com/p/jnativehook/downloads/list下载了 .zip 。当我提取这个文件夹时,有一个 bin 文件夹、src 文件夹、build.xml、build.num 和 3 个 .txt 文件。

我已通过 File -> project -> Java project from existing Ant 文件将这个库包含在我的项目中

我已经尝试了一个示例https://code.google.com/p/jnativehook/wiki/examples

但我收到以下错误

我应该在本机库路径中给出什么位置?

0 投票
1 回答
4342 浏览

scala - SBT:设置 java.library.path 的跨平台方式?

我正在做一个需要加载本机库的项目,到目前为止,所有开发都仅限于 Linux。为了run我的项目,我可以简单地启用分叉和修改java.library.path如下:

我的问题是:我怎样才能以跨平台的方式做同样的事情,以便我可以与基于 Windows 的开发人员共享我的 build.sbt。到目前为止,我尤其无法弄清楚三件事:

  • 我知道 SBT 允许构建与平台无关的路径"dir1" / "dir2",但我不知道加入多个路径的跨平台方式(因为它:在 Linux 和;Windows 上)。
  • 是否可以附加lib/native/linux lib/native/windows依赖于平台?
  • 我上面的方法覆盖java.library.path了——是否可以追加?