Tag: nativelibrary

线程“main”中的exceptionjava.lang.UnsatisfiedLinkError:java.library.path中没有opencv_java249

我正在尝试在我的32位笔记本电脑上设置OpenCV,但我不断收到一条令我困惑的错误信息: Exception in thread “main” java.lang.UnsatisfiedLinkError: no opencv_java249 in java.library.path at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.loadLibrary0(Unknown Source) at java.lang.System.loadLibrary(Unknown Source) at hello.main(hello.java:8) 我尝试过切换一些东西,比如进入用户库并将原生库位置更改为\ x64而不是\ x86,但这没有用。 我还确保我的Java项目将OpenCV-2.4.9作为其库之一。 我也试过’清理’所有项目,但这没有用(它有没有?)。 所以我已经按照设置教程中的所有说明进行操作,但仍然无法正常工作。 有谁知道问题可能在这里? 提前致谢…

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

我正在使用Play Framework 2.1 RC2来构建一个使用TFS Java SDK的应用程序。 TFS APIs需要包含一组本机dll(例如native_auth.dll )。 如何在应用程序运行时使本机库可用? 我在哪里可以指定要包含的本机dll? 更新:我尝试了static块System.load(“full path”)并使用app.classloader().loadClass(“NativeUtils.class”);加载它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) 提前感谢您的投入!

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

我无法将我的java项目从eclipse导出为jar可执行文件。 我的java项目使用外部库(称为jri)。 我已经导出了jri.jar文件并在eclipse中为其本机库设置了库路径,并且它在eclipse中的开发效果很好。 但是,当我将其导出为可执行jar文件时,我收到以下错误: Cannot find JRI native library! Please make sure that the JRI native library is in a directory listed in java.library.path. 我把一个名为lib的文件夹放在与我的项目jar相同的目录中; 这个lib文件夹包含jri的本机库。 jri的本机库不在一个文件中,而是在一个文件夹中。 这与我在eclipse中的设置相同。 我在eclipse中导出项目的方式是 Export… Java > Runnable JAR file Copy required libraries into a sub folder next to the generated Jar Finish 我的文件夹是这样组织的 folder project project.jar project_lib jri.jar jri […]

OpenCV库加载了hadoop但没有工作

我正在尝试将OpenCV与Hadoop一起使用。 以下是我的代码。 我只是测试OpenCV库是否与Hadoop一起工作,即当我在Hadoop的函数public int run(String[] args)中运行OpenCV代码时。 我在互联网上搜索,并找到了一些如何在Hadoop中添加OpenCV本机库( libopencv_java310.so )的方法。 我尝试了一些方法,但它没有用。 例如本教程 。 它说将JAVA.LIBRARY.PATH添加到hadoop-config.sh文件中。 但它没有用。 我收到了这个错误 Exception in thread “main” java.lang.UnsatisfiedLinkError: no opencv_java310 in java.library.path at line System.loadLibrary(Core.NATIVE.LIBRARY.NAME); 最后,我将OpenCV本机库( libopencv_java310.so )添加到此路径(从Internet获得解决方案) $HADOOP_HOME/lib/native 它似乎有效。 我没有得到上述错误。 但是我在下一行遇到了这个错误: Exception in thread “main” java.lang.UnsatisfiedLinkError: org.opencv.objdetect.CascadeClassifier.CascadeClassifier_1(Ljava/lang/String;) 此错误符合以下条件: CascadeClassifier cad = new CascadeClassifier(); 据我所知,如果未加载OpenCV本机库,则会出现此错误。 但是现在加载了库,我不知道这个错误的原因是什么。 public int run(String[] args) throws Exception { […]

Windows上的Java JNI和依赖库

长话短说:我有一个可执行jar,它调用依赖于lib.dll 。 而且我得到了那些令人恐惧的UnsatisfiedLinkError 。 这个答案非常接近,但根据我的经验,它无法解决问题。 即使在java.library.path指定了dll驻留的文件夹,它也不起作用。 我也必须更改Windows PATH环境变量。 实际上,Windows上的默认java.library.path似乎是PATH 。 有没有“漂亮”的方法来解决这个问题? 我想为Windows构建一个安装程序,我想知道如何处理这个问题,以便最终用户不必做任何手动工作。 编辑: 我实现的内容如下:应用程序附带一个名为“native_libs”的文件夹,该文件夹具有适用于所有受支持体系结构的动态库。 结构如下: / +- native_libs/ +- windows/ | +- x86/ | | +- … | +- x64/ | +- … | +- linux/ | +- x86/ | | +- … | +- x64/ | +- … | +- libs/ +- … 在运行时,在应用程序初始化时,会检测到正确的JRE体系结构和系统OS,并将正确的库文件复制到libs […]

默认的Java库路径?

我知道您可以在执行程序之前使用选项( -Djava.library.path=/path/to/libs )设置Java库路径,但是如果您没有设置Java,那么Java系统中是否有一个位置手动吗?

unit testing“本机”Java类在哪里?

为了“有趣”我将松散的几个Java类移植到PHP(例如java.util.regex.Matcher ),所以我希望能够为这些运行/移植unit testing: java.lang.StringBuilder java.util.regex.Pattern java.util.regex.Matcher 我在哪里可以找到它们? 任何半新版本的测试都会有所帮助。

包括Netbeans中的本地库

我正在尝试从java签名的applet中读取便携式设备….我在http://code.google.com/p/jmtp/w/list上找到了一个jmtp库来访问便携式设备,但是当我运行它时netbeans它给出了错误 线程“main”中的exceptionjava.lang.UnsatisfiedLinkError:java.library.path中没有jmtp 在java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860) 在java.lang.Runtime.loadLibrary0(Runtime.java:845) 在java.lang.System.loadLibrary(System.java:1084) 在jmtp.PortableDeviceManagerImplWin32。(PortableDeviceManagerImplWin32.java:38) 在jmtp.PortableDeviceManager。(PortableDeviceManager.java:34) 在jmtp.Jmtp.main(Jmtp.java:23) Java结果:1 我搜索并发现我必须在.jmtp项目中包含.dll文件作为本机库…我右键单击项目并导航到属性,然后选择“运行”和选定的VM选项为 -Djava.library.path = “C:\ jmtp \天然\窗口” 并将该jmtp.dll文件放在c:\ jmtp文件夹中 但是同样的错误经常出现在我的代码中 包jmtp; import jmtp.PortableDevice; import jmtp.PortableDeviceManager; import jmtp.PortableDeviceObject; import jmtp.PortableDeviceStorageObject; public class Jmtp { public static void main(String[] args) { PortableDeviceManager manager = new PortableDeviceManager(); PortableDevice device = manager.getDevices()[0]; // Connect to my mp3-player device.open(); System.out.println(device.getModel()); System.out.println(“—————“); // […]

如何在Tomcat中添加本机库?

我想在Tomcat中添加gdal库。 我读了Tomcat中找不到的Native库,但是不明白startup.bat我应该添加-Djava.library.path 。 错误: exception javax.servlet.ServletException: Servlet execution threw an exception com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:70) root cause java.lang.UnsatisfiedLinkError: org.gdal.ogr.ogrJNI.GetDriverCount()I org.gdal.ogr.ogrJNI.GetDriverCount(Native Method) org.gdal.ogr.ogr.GetDriverCount(ogr.java:98) org.geotools.data.ogr.OGRDataStore.(OGRDataStore.java:169) test.Read.getKadnum(Read.java:56) test.Zipper.mifUnzip(Zipper.java:139) test.Zipper.Unzip(Zipper.java:60) test.uploadfile.doPost(uploadfile.java:105) javax.servlet.http.HttpServlet.service(HttpServlet.java:641) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:70) note The full stack trace of the root cause is available in the Apache Tomcat/7.0.23 logs. 我从http://vbkto.dyndns.org:1280/sdk/PackageList.aspx?file=release-1600-x64-gdal-1-9-mapserver-6-2.zip下载了gdal 64bit。