java -jar无法从清单文件中读取类路径,从而导致NoClassDefFoundError错误

时间:2013-06-01 17:41:58

标签: java classpath manifest manifest.mf maven-jar-plugin

我的MANIFEST.MF文件看起来像this

我的main()打印类路径 -

  ClassLoader cl = ClassLoader.getSystemClassLoader();

        URL[] urls = ((URLClassLoader)cl).getURLs();

        for(URL url: urls){
            System.out.println(url.getFile());
        }

我正在运行jar文件as-

java -jar "C:\Project-1.0-SNAPSHOT.jar"

当我运行jar文件时,我没有看到清单文件中设置的任何类路径。我只看到C:\Project-1.0-SNAPSHOT.jar的绝对路径。为什么会这样?显然,由于java.lang.NoClassDefFoundError错误

,代码无法运行

请注意,我使用maven-jar-plugin来创建此jar文件

1 个答案:

答案 0 :(得分:0)

希望您在清单文件的最后一行末尾有换行符。如果没有,那么在Manifest.mf的最后一行之后添加换行符