2011-09-20 35 views
2

我尝试了很多选项来解决此问题,但无法找到解决方案。我也创建了头文件和DLL。将课程路径设置为asd。 Javac命令正常工作。当我运行这个文件时,出现错误:无法找到或加载主类com.log.jni.example.HelloWorld。你可以帮我吗。这是我的文件。JNI无法找到或加载主类 - 唯一问题

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

你能告诉我们你是如何运行这段代码的吗?还有什么软件包?同时显示确切的错误信息。 –

+0

我想从eclipse运行,并且错误消息是:“无法找到或加载主类com.log.jni。” – ran

回答

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

0

未建立二进制文件时出现错误“无法找到或加载主类...”。点击项目,关闭自动构建。然后点击项目并构建所有。然后打开自动构建。

相关问题