问题标签 [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 回答
8683 浏览

java - Windows 上的 Java JNI 和依赖库

长话短说:我有一个可执行的 jar,它调用jni.dll依赖于lib.dll. 我越来越害怕了UnsatisfiedLinkError

根据我的经验,这个答案非常接近,但无法解决问题。即使在 中指定了 dll 所在的文件夹java.library.path,它也不起作用。我还必须更改 WindowsPATH环境变量。事实上,java.library.pathWindows 上的默认设置似乎是PATH.

有什么“漂亮”的方法来解决这个问题吗?我想为 Windows 构建一个安装程序,我想知道如何处理这个问题,这样最终用户就不必做任何手动工作。

编辑:

我实现的内容如下:该应用程序附带一个名为“native_libs”的文件夹,其中包含所有受支持架构的动态库。结构如下:

在运行时,当应用程序初始化时,会检测到正确的 JRE 架构和系统操作系统,并将正确的库文件复制到 libs/ 文件夹中。java.library.path也正在运行时设置以及使用常见的 hack 。最后,PATH使用本机启动器设置 Windows 的环境变量。

有改进的余地吗?也许将dll复制到与文件相同的目录中jar会消除设置java.library.pathPATH变量的需要?我还需要调查加载 dll System.load(),这将消除复制文件的需要。

0 投票
3 回答
33985 浏览

java - 在 Netbeans 中包含本机库

我正在尝试从 java 签名的小程序中读取便携式设备....我在 http://code.google.com/p/jmtp/w/list上找到了一个 jmtp 库来访问便携式设备,但是当我运行它时netbeans 它给出了错误

p>

我搜索并发现我必须将 .dll 文件作为本机库包含在 jmtp 项目中...我右键单击项目并导航到属性,然后选择“运行”并选择 VM 选项为

并将 jmtp.dll 文件放在 c:\jmtp 文件夹中

但同样的错误不断出现我的代码是

请告诉我是什么问题

0 投票
0 回答
1768 浏览

java - 如何在 Intellij IDEA 中使用本机库制作 jar?

如何在 Intellij IDEA 中使用本机库制作 jar?在 JVM 中,它看起来像 Djava.library.path=C:\Users\User\workspace\lib\native\win

0 投票
1 回答
1627 浏览

eclipse - 如何修改 Eclipse 的 library.path?

我有一个相当普遍的问题...我正在使用 Eclipse 作为我的 IDE...当我转到 ->帮助 ->关于 ECLIPSE SDK ->安装详细信息 ->配置时,我看到了行条目: -Djava.class。路径=C:\Eclipse\etc... 和 java.library.path =C:\Eclipse\etc...

我对此有两个问题... 1) -Djava.class.path 在 ECLIPSE 环境中是什么意思?2) 如何更改/修改 Eclipse 的 java.library.path 选项,以便我所做的更改在 HELP 菜单下的 Eclipse 配置窗口中可见,如上所述?

谢谢!!

0 投票
1 回答
6172 浏览

maven - Maven 插件 java.library.path

maven-surefire-plugin 支持通过配置选项使用该java.library.path属性。<argLine>

我需要将该java.library.path属性传递给 sql-maven-plugin(它没有<argLine>配置选项),以便将 jTDS 驱动程序与 Windows 身份验证一起使用(需要 ntlmauth.dll)。

在此先感谢您的帮助。

0 投票
1 回答
1147 浏览

java - 当我尝试运行我的 .jar 时,我在 java.library.path 异常中得到一个 no library

我浏览了许多帖子,并尝试了我发现收效甚微的方法。这是设置:

我用 Java 写了一个程序,运行良好,但我们需要切换相机。这台相机兼容吐温(恶心)。我使用 JTwain 重写了程序(非常简单),它在 netbeans 中运行得很好。我构建了它,它在我的计算机上运行得很好。但是,当我尝试传输 .jar(和配套库等)时,它运行良好,直到需要拍摄图像,然后我收到错误:

java.lang.UnsatisfiedLinkError:Java.library.path 中没有 aspireJTwain。

我尝试过引入基本 twain 包,添加系统环境变量,检查 java 发行版。我可以运行 JTwain 测试文件(以确保您拥有 JTwain 并且一切都很好)。

如果有人可以请帮忙,我将非常感激。

0 投票
0 回答
255 浏览

java - Adding a native libary to eclipse project which has further dependencies

My goal is to add a native library to an eclipse project which has further dependencies on DLLs which are usually part of Windows OS or the MS Visual Studio redistributables (e.g., MSVCR110.dll and others...).

Putting my native library foo.dll in a Java-Project A source folder works for Project A alone (w/o any build-path adjustments).

But as soon as another Java-Project B references and uses project A, I get for Project B the error "UnsatisfiedLinkError: no foo.dll in java.library.path".

I get past this error by adding the location to foo.dll in the eclipse java build path of Project B --> tab "source --> edit "Native library location: ".

This however, results in the error "UnsatisfiedLinkError: Project A/foo.dll: Can't find dependent libraries" - which I guess are the above mentioned system-libraries, which are obviously not located in the folder of Project A, but in some system-folder...

Any solution to that?

0 投票
3 回答
53518 浏览

java - 如何在 Tomcat 中添加原生库?

我想在 Tomcat 中添加 gdal 库。我阅读了在 Tomcat 中找不到的本机库, 但不明白startup.bat我应该在哪里添加-Djava.library.path.

错误:

我从以下网址下载了 gdal 64bit:http://vbkto.dyndns.org:1280/sdk/PackageList.aspx?file= release-1600-x64-gdal-1-9-mapserver-6-2.zip

0 投票
2 回答
1420 浏览

java - 如何在 play 2.1 RC2 中包含本机库 (JNI)?

我正在使用Play Framework 2.1 RC2构建一个使用TFS Java SDK. TFS APIs需要包含一组本机 dll(例如native_auth.dll)。

如何在应用程序运行时使本机库可用?我在哪里可以指定要包含的本机 dll?

更新:我尝试使用staticblockSystem.load("full path")并加载它 app.classloader().loadClass("NativeUtils.class"); ,但仍然出现异常:

java.lang.UnsatisfiedLinkError: com.microsoft.tfs.jni.internal.platformmisc.NativePlatformMisc.nativeGetEnvironmentVariable(Ljava/lang/String;)Ljava/lang/String; at com.microsoft.tfs.jni.internal.platformmisc.NativePlatformMisc.nativeGetEnvironmentVariable(Native Method) at com.microsoft.tfs.jni.internal.platformmisc.NativePlatformMisc.getEnvironmentVariable(NativePlatformMisc.java:134) at com.microsoft.tfs.jni.PlatformMiscUtils.getEnvironmentVariable(PlatformMiscUtils.java:52) at com.microsoft.tfs.core.config.httpclient.DefaultHTTPClientFactory.shouldAcceptUntrustedCertificates(DefaultHTTPClientFactory.java:288) at com.microsoft.tfs.core.config.httpclient.DefaultHTTPClientFactory.configureClientParams(DefaultHTTPClientFactory.java:324) at com.microsoft.tfs.core.config.httpclient.DefaultHTTPClientFactory.newHTTPClient(DefaultHTTPClientFactory.java:137) at com.microsoft.tfs.core.TFSConnection.getHTTPClient(TFSConnection.java:1041) at com.microsoft.tfs.core.TFSConnection.getWebService(TFSConnection.java:874) at com.microsoft.tfs.core.config.client.DefaultClientFactory$9.newClient(DefaultClientFactory.java:265) at com.microsoft.tfs.core.config.client.DefaultClientFactory.newClient(DefaultClientFactory.java:90) at com.microsoft.tfs.core.TFSConnection.getClient(TFSConnection.java:1470) at com.microsoft.tfs.core.TFSTeamProjectCollection.getWorkItemClient(TFSTeamProjectCollection.java:370)

提前感谢您的投入!

0 投票
2 回答
9489 浏览

eclipse - 如何从 POM 设置 eclipse 使用的 java.library.path?

我正在使用 Maven 来定义我的项目。我的依赖项之一在运行时需要本机 DLL,因此在测试和调试中需要它。本机 DLL 在已知位置可用。我想要一个解决方案,我可以签入一次,并且无需每个开发人员手动设置即可为所有开发人员工作。

我知道我可以在“运行配置”中手动设置 java.libary.path,这将允许它找到本机 DLL,但这需要每个开发人员手动设置。

我知道我也可以为给定的项目依赖项设置 java.library.path,但这对于特定的开发人员来说也是本地的。

最后我知道我可以设置surefire插件来指定java.library.path,但这仅对通过maven触发的测试有用 - 所以它对我们的构建服务器非常有用,但不能帮助开发人员在eclipse中使用JUnit runner,或者想直接从 Eclipse 调试或运行代码。

有出路吗?