Java 找不到类路径资源

Java 找不到类路径资源,java,dynamic-linking,Java,Dynamic Linking,对,这个很奇怪。我正在尝试构建一个Java项目,它在运行时从lib.so文件加载内容。该文件位于正确的目录中,类路径已设置,但我仍然收到与未找到该文件相同的错误。Iprintln()'d预期文件的整个路径,该路径与该文件的绝对物理位置和名称完全匹配 基本上,它明确地抱怨当文件在那里时找不到该文件(错误的性质明确地指无法找到该文件,而不是文件的加载或功能或特性) 有什么提示吗?解决方案 在运行时使用显式查询java类路径后,问题得到了解决 System.getProperty("java.clas

对,这个很奇怪。我正在尝试构建一个Java项目,它在运行时从
lib.so
文件加载内容。该文件位于正确的目录中,类路径已设置,但我仍然收到与未找到该文件相同的错误。I
println()
'd预期文件的整个路径,该路径与
文件的绝对物理位置和名称完全匹配

基本上,它明确地抱怨当文件在那里时找不到该文件(错误的性质明确地指无法找到该文件,而不是文件的加载或功能或特性)


有什么提示吗?

解决方案

在运行时使用显式查询java类路径后,问题得到了解决

System.getProperty("java.class.path");

并打印出所有结果。它表明预期文件的路径是相对于另一个类路径的,而该类路径又是相对于项目的当前目录的。

绝对/相对路径有问题,工作目录可能与您预期的不同?这就是我的想法,然后我打印出了整个绝对路径,提示:显示加载文件的代码。向我们显示错误消息。将代码浓缩,直到它所做的只是加载这个库并使用它执行一个简单的操作,然后向我们展示所有这些。到目前为止,你所做的是告诉我们一切都是对的,但它不起作用。Java错误消息通常都很好,但您已经进入了非Java代码的世界,我不会对消息的确切措辞抱有太多信心。同时,你没有给我们提供太多真实的信息,这很公平。基本上我使用JNI来加载C++编译的代码>,所以库。我正在使用JNI中常见的
System.load()
。我正在捕获关联的
异常
s,正在抛出的异常是“未找到资源”。我不能“简化代码”,因为这是一个巨大的项目。这就是问题所在,这就是被抛出的东西。