我尝试了很多选项来解决这个问题,但找不到解决方案。我也创建了头文件和DLL。设置类路径asd。 Javac命令工作正常。当我运行此文件时,我收到错误:无法找到或加载主类com.log.jni.example.HelloWorld。请你帮助我好吗。这是我的档案。
public class HelloWorld {
private native void print(String path);
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String path="C:\\Capture.pcap";
new HelloWorld().print(path);
}
static {
System.loadLibrary("HelloWorld");
}
}
答案 0 :(得分:2)
可能是您的静态初始化程序失败了。
以下代码:
public class Main
{
static
{
if (true)
throw new Error("Error is here");
}
public static void main(String... args)
{
System.out.println("I am running");
}
}
产生输出:
Exception in thread "main" java.lang.Error: Error is here
at Main.<clinit>(Main.java:22)
Could not find the main class: Main. Program will exit.
在“找不到主类”错误之前是否打印出任何堆栈跟踪?在此示例中,找到了类但由于静态初始化程序中抛出异常而无法初始化。在您的代码中,可能的怀疑是System.loadLibrary()调用失败并带有UnsatisfiedLinkError
。
答案 1 :(得分:0)
未构建二进制文件时出现错误“无法找到或加载主类...”。单击项目,关闭自动构建。然后单击项目并构建所有项目。然后打开自动构建。