-1

背景:我正在尝试使用 ini4j 来解析 ini 格式的配置文件。

我运行命令:javac -classpath ini4j-0.5.4.jar Driver.java 并且编译顺利...但是当我尝试运行程序时: java Driver 我收到此错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/ini4j/Ini at Clock.main(Clock.java:13) Caused by: java.lang.ClassNotFoundException: org.ini4j.Ini at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) ... 1 more

据我了解,此错误是 jvm 能够找到错误中引用的类文件并失败的产物。我检查了 ini4j jar 文件并确认 Ini.class 文件确实存在。谁能告诉我我在这里想念什么?

以下是我的源代码:

import java.util.Map;   
import java.io.IOException;
import java.io.File;
import org.ini4j.* ;
public class Driver{
    public static void main(String[] args){
        System.out.println("running in Clock-J main()");
        String fileName = "./test.ini" ;
        File fileObject = new File(fileName);
        try{
            Ini ini = new Ini(fileObject);
        }catch(IOException e){
            String exception = e.toString() ;
            e.printStackTrace();
        }
     }
}
4

3 回答 3

0

您还需要在运行程序时指定 -classpath 选项。Java 不会自动拾取您在编译代码时传递的 jar 文件。

于 2015-07-01T20:37:15.437 回答
0

我的情况的正确答案似乎是: java -cp .:ini4j-0.5.4.jar 驱动程序 感谢您为我指出正确的方向!!!!使用 IDE 会让人忘记这样的事情。对此,我真的非常感激!!!!谢谢!!!!!

于 2015-07-01T21:23:48.703 回答
-1

查看Elipse->Properties->JavaBuildPath->Libraries 扩展 JAR 列表必须在 CLASSPATH 中

请查看更多信息

于 2021-12-08T12:02:54.947 回答