使用java -classpath命令时出错

时间:2015-08-25 15:07:50

标签: java

我有一个课程,测试,如下

import java.io.File;
import java.io.IOException;

import org.ini4j.InvalidFileFormatException;
import org.ini4j.Wini;

public class test {

    public static void main(String[] args) throws InvalidFileFormatException, IOException{
        File f = new File("ini.ini");
        Wini ini = new Wini(f);
        int a = ini.get("test", "a", int.class);
        int b = ini.get("test", "b", int.class);
        int c = ini.get("test", "c", int.class);

        System.out.print(a);
        System.out.print(b);
        System.out.print(c);
    }
}

编译我运行命令

javac -classpath ini4j-0.5.4.jar test.java

编译没有问题,但是当我尝试使用命令

运行它时

java -classpath ini4j-0.5.4.jar test

我收到错误Error: Could not find or load main class test

如果我从-classpath ini4j-0.5.4.jar命令中排除java .. test,我会收到错误Exception in thread "main" java.lang.NoClassDefFoundError: org/ini4j/InvalidFileFormatException ...

这个班在日食中运行良好。

1 个答案:

答案 0 :(得分:5)

您需要将编译后的类文件最终的目录添加到java调用的类路径中。

在你的情况下

java -cp "ini4j-0.5.4.jar:." test

将是你想要的,因为一切都在当前的工作目录中。

编辑:已完成更新^^。类路径使用系统特定的路径分隔符。因此,对于使用Windows的不幸灵魂来说,这将是:

java -cp "ini4j-0.5.4.jar;." test