在android源代码中,PathClassLoader的实例是在哪里和什么时候创建的?
当我研究Android源代码时,我注意到应用程序中的通用类加载程序是PathClassLoader的实例,并且此类中有两个构造函数.一个就像: public PathClassLoader(String dexPath, ClassLoader parent) { super(dexPath, null, null, parent); } ,另一个就像: public PathClassLoader(String dexPath, String libraryPath, ClassLoader parent) { super(dexPath, null, libraryPath, parent); } ,但是在应用程序启动过程中,我找不到源代码中第二个构造函数的调用.那么LibraryPath参数的值从何而来?众所周知, LibraryPath 是指包含本机库的目录列表,用于初始化nativeLibraryDire
8 2024-02-06
编程技术问答社区
如何在Tomcat中添加本机库?
我想在Tomcat中添加GDAL库.我阅读 tomcat中找不到的本地库 C0>我应该添加-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.
14 2023-10-23
编程技术问答社区
线程 "main "中的异常 java.lang.UnsatisfiedLinkError: java.library.path中没有终端。
我试图在设置罐子后通过日食运行Charva教程, 但是我收到 线程" main" java.lang.unsatisfiedlinkerror中的例外 在控制台中.关于如何解决此问题的任何线索? 解决方案 正如Dave所说,Charva需要一个名为"终端"的本地库.据我所知,它包含在Charva的二进制分布中. Eclipse特定说明:在您的项目属性中,选择Java构建路径,然后选择库.找到罐子,并将本地库位置设置为终端库所在的路径.
8 2023-10-17
编程技术问答社区
SBT:跨平台设置java.library.path的方法?
我正在从事一个需要加载本机库的项目,到目前为止,所有开发都仅限于Linux.为了run我的项目,我可以简单地启用分叉和修改java.library.path如下: javaOptions in run += "-Djava.library.path=some/common/path:lib/native/linux" 我的问题是:如何以跨平台的方式进行相同的操作,以便可以与基于Windows的开发人员共享build.sbt.到目前为止,有三件事我还不知道: 我知道SBT允许构建独立于"dir1" / "dir2"的路径,但是我不知道连接多个路径的跨平台方法(因为它在Linux上是:,而Windows上的; ). 是否可以附加lib/native/linux 或 lib/native/windows取决于平台? 我上面的方法java.library.path - 是否可以补充? 解决方案 由于您可以使用任何Scala代码,因此您当然可以做 val fold
18 2023-08-20
编程技术问答社区
在Eclipse/PyDev Jython项目中把.dll添加到java.library.path中
我正在尝试在我的pydev jython项目中使用编译的.jar Java库. 我成功地将.jar添加到PythonPath中,并能够开始使用自动完成工作编码. 库也需要一个.dll扩展名,javaHeclib.dll,所以我将其添加到项目的外部LIBS部分. 我可以罚款库,但是当我尝试访问其任何功能时,我会遇到错误: java.lang.UnsatisfiedLinkError: java.lang.UnsatisfiedLinkError: no javaHeclib in java.library.path 我在运行配置中添加了VM参数,没有运气: -Djava.library.path="Y:/path/to/javaHeclib.dll;${env_var:PATH}" 我可以使用上面的java.library.path从命令行运行库. 在PYDEV控制台中进行实验,我注意到我可以使用绝对路径加载.dll扩展名,但不能加载一个相对路径
14 2023-06-19
编程技术问答社区
java.lang.UnsatisfiedLinkError: java.library.path中没有frmjapi。
我有一个在Eclipse上的项目,我正在研究,并且我正在在XP 32位计算机上使用它,我想将项目移至我的PC,即Windows 7 64位.我可以不用错误编译我的项目,但是当我运行该项目时,我会得到错误Exception in thread "main" java.lang.UnsatisfiedLinkError: no frmjapi in java.library.path. 我在其他帖子中寻找错误,但其中大多数正在处理本机库,我的项目仅包含这个1个JAR文件.我尝试多次将项目删除并添加到构建路径中,但问题仍然存在. 这个问题背后的原因是什么? 解决方案 原因是,您的场景后面的库显然依赖于运行时的本机库,因此您需要将文件的root目录添加到frmjapi.dll在您的错误消息中建议通过在您的 vm参数中添加-Djava.library.path=c:\some\path\to\my\dll\parent\dir (参见运行配置). 什么是frmjapi.dll?
70 2023-06-08
编程技术问答社区
如何在play 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"); ,但我仍然有例外: java.lang.UnsatisfiedLinkError: com.microsoft.tfs.jni.internal.platformmisc.NativePlatformMisc.nativeGetEnvironmentVariable(Ljava/lang/String;)Ljava/lang/String; at com.microsoft.tfs.jni.internal.platformmisc
18 2023-06-07
编程技术问答社区
如何用Eclipse启动将本地库添加到 "java.library.path "中(而不是覆盖它)?
我有一个本地库,需要添加到 java.library.path .使用JVM参数 -djava.library.path =路径... i可以设置路径. 我的问题是我的其他库(Pentaho报告)基于默认的java.library.path(包括系统目录等)搜索字体,而手动设置覆盖了默认路径. so:如何 默认的java.library.path而不是覆盖它(似乎是用-djava.library.path进行的)? (我不想手工添加默认路径,这不是为部署而好) 编辑:对不起,缺少详细信息;我正在与Eclipse合作. (部署是使用JNLP完成的,在那里我可以在 Resources 下使用 nativelib )) 解决方案 忘记了这个问题...我实际上是在问Eclipse,对不起,因为没有说明这一点. 答案似乎太简单了(至少使用3.5;可能也有较旧的版本): Java运行配置的参数:VM参数: -Djava.library.path="${works
20 2023-05-21
编程技术问答社区
Java编程, opencv不满足的链接错误
OpenCV库在捕获视频流时给出了不满意的链接错误. 应该在哪里opencv 3.2.0库? OpenCV类包装的正确路径是什么? 代码在哪里生成此错误: package opencv; import org.opencv.core.*; import org.opencv.imgcodecs.Imgcodecs; import org.opencv.videoio.VideoCapture; public class VideoCap { public static void main (String args[]){ System.loadLibrary(Core.NATIVE_LIBRARY_NAME); // error VideoCapture camera = new VideoCapture(0); if(!camera.isOpened()){
46 2023-05-10
编程技术问答社区
线程 "main "中的异常 java.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作为其库之一.我还尝试过"清洁"所有项目,但这没有奏效(曾经有过吗?).因此,我遵循了设置
42 2023-05-10
编程技术问答社区
在hadoop中加载了OpenCV库,但没有工作
我正在尝试将OpenCV与Hadoop一起使用.以下是我的代码.我只是在测试OpenCV库是否可以与Hadoop合作,即当我在功能中运行OpenCV代码时 public int run(String[] args) hadoop. 我在Internet上搜索,并找到了一些如何在Hadoop中添加OpenCV本地库(libopencv_java310.so)的方法.我尝试了一些方法,但它不起作用.例如 tutorial . 它说添加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本地库(libop
22 2023-05-09
编程技术问答社区
在Netbeans中包括本机库
我试图从Java签名的小程序中读取便携式设备. 我在 http://code.google.com/p/jmtp/w/list 要访问便携式设备,但是当我在Netbeans中运行它时,会出现错误 Exception in thread "main" java.lang.UnsatisfiedLinkError: no jmtp in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860) at java.lang.Runtime.loadLibrary0(Runtime.java:845) at java.lang.System.loadLibrary(System.java:1084) at jmtp.PortableDeviceManagerImplWin32.(PortableDeviceManagerImpl
22 2023-04-21
编程技术问答社区
无法在Eclipe、NetBeans或Intellij IDEA中用JAVA运行OpenCV-java.library.path错误
我正在运行薄荷17.1(丽贝卡)KDE(64位). 我从存储库中安装了OpenCV 2.4.8,并带有Python绑定(并且我目前正在使用OpenCV-Python). 我无法使用IDE在Java中运行简单的示例OpenCV程序.我尝试了Eclipse,Netbeans和Intellij Idea. 我将以下库添加到项目: /usr/share/opencv/java/opencv-248.jar 当我尝试运行一个简单的示例源代码,我有以下错误: 线程中的异常" main" java.lang.unsatisfiedlinkerror:no opencv_java248 in Java.library.library.path 在java.lang.classloader.loadlibrary(classLoader.java:1865) 在java.lang.runtime.loadlibrary0(runtime.java:870)
18 2023-04-21
编程技术问答社区
在中运行时获取jar的路径。mac os x上的应用程序
我的javafx罐子在.App中运行.现在如果我执行 System.getProperty("user.dir") 我获取用户home的位置,即/user/devaccount/devaccount是系统用户名,而不是.app文件或.jar文件的位置. 我如何找到.App在运行时实际运行的位置? 另外,请建议如何将Java.Library.Path设置为.App Bundle中的文件夹. 注意:如果我在外部运行jar. 解决方案 实际上javafxpackager默认设置java.library.path to .app/contents/java so system.getProperty(" java.library.path")本身可以提供所需的路径. P.S.:@SO Admins,惊讶地发现我的大多数问题都缺乏回答.我做错了吗?
22 2023-03-17
编程技术问答社区
在Mac OS X上通知?
我想尝试jnotify,即观察文件系统更改的插件库,但无法弄清楚如何配置它. jnotify的网页说:" java.library.path应该指向jnotify随附的本机库的位置(dlls,so so dylibs等)".我是Mac OS X的新手,并且真的不知道该怎么做.我正在使用Netbeans,并希望有一种简单的方法将其添加到其中的路径中.我通过简单地将JAR文件添加到项目中的库节点,然后通过" import net.contentobjects.jnotify.*;*;*;*;*;,但这无济于事.我得到了: Exception in thread "main" java.lang.UnsatisfiedLinkError: no jnotify in java.library.path 看来我还需要将本机库(我猜是Mac的.SO文件)添加到同一路径中. 那么我该怎么做? 解决方案 java.library.path是一个Java系统变量,您必须在启动程序
136 2023-03-16
编程技术问答社区
java.library.path和classpath之间的关系是什么?
我正在寻找简单的解释java.library.path和classpath之间的关系.虽然我几乎不是新手,但我从来没有不必与J.L.P.但是,我们参与了WebSphere MQ应用程序的问题,我们想打开他们的追踪.不幸的是,一旦我告诉IBM,我们已经重新包装了MQ Jars,以便我们可以通过Maven部署,除非我们加载了Java.library.path. ,否则他们甚至不会与我谈论这个问题. 太好了,让我们重做我们的整个部署策略.我可以咬那个子弹,但这是我的问题: java.library.path和classpath之间有什么关系?编译器可见的J.L.P上是否找到了类?您是否必须在编译器的命令行上指定J.L.P?您可以在J.L.P和类Path上指定这些类吗?这是优先. ,请不要说出这个问题以进行研究不足.我当然已经搜索了" java.library.path".当然是数十亿个热门歌曲.我尝试进行高级Google搜索,将表达式限制在Oracle.com网站上.仍
16 2023-03-14
编程技术问答社区
如何在Linux中把.so文件添加到java.library.path中?
我正在使用Windows中的Java.library.path中需要一个.dll文件的Java应用程序.要在Linux中运行相同的应用程序,我有相应的.so文件,该文件应在Linux机器中添加到java.library.path,我没有找到任何简单的解决方案 我确实将.so放在已经在类路径中的文件夹中,但是我的应用程序仍然抱怨java.library.path 中没有必要的.so文件 我想找到: 将.so添加到java.library.path 的方法 如何知道是否已经添加了它(添加时) 解决方案 在启动应用程序之前,将包含目录添加到LD_LIBRARY_PATH中 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/some/pathOfContainingDirectory 使用java -XshowSettings:properties显示java.library.path(和其他)值. 其他解决方
24 2023-03-07
编程技术问答社区
Hadoop "无法为您的平台加载本地hadoop库 "警告
我目前正在运行 centos 的服务器上配置hadoop.当我运行start-dfs.sh或stop-dfs.sh时,我会收到以下错误: 警告util.nativecodeloaderoder:无法加载本地hadoop库 您的平台...在适用的情况下使用内置java类 我正在运行 hadoop 2.2.0. 在线进行搜索提出了此链接: CA/2013/01/UTILNATIVECODELOADER-UNAIL-TO-LOAD.HTML 但是,hadoop 2.x上/native/目录的内容似乎不同,所以我不确定该怎么做. 我还在hadoop-env.sh中添加了这两个环境变量: 导出hadoop_opts =" $ hadoop_opts -djava.library.path =/usr/local/hadoop/lib/" 导出hadoop_common_lib_native_dir ="/usr/usr/local/hadoop/lib/l
194 2023-03-07
编程技术问答社区
-Djava.library.path中有多个目录
我如何指向Eclipse Project中的两个差异java.library.path - 运行配置?我需要这两个库: -Djava.library.path=/opt/hdf-java/build/bin -Djava.library.path=/opt/opencv-2.4.10/build/lib 问候. 解决方案 在Linux上,使用colon :作为分隔符(与classPath选项一样)如下: -Djava.library.path=/opt/hdf-java/build/bin:/opt/opencv-2.4.10/build/lib 其他解决方案 使用平台的File.pathSeparator,即在Windows上使用;,在 *nix上使用: :进行单独的目录,就像您将classPath中的目录分开. 例如. Windows: -Djava.library.path=C:/dir1;C:/dir2 或*nix: -Djav
434 2023-02-22
编程技术问答社区