java -jar не может прочитать путь к классу из файла манифеста, что приводит к ошибке NoClassDefFoundError

Мой файл MANIFEST.MF выглядит так

Мой main() печатает путь к классу -

  ClassLoader cl = ClassLoader.getSystemClassLoader();

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

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

Я запускаю JAR файл как

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

Когда я запускаю файл jar, я не вижу пути к классам, заданного в файле манифеста. Я вижу только абсолютный путь к C:\Project-1.0-SNAPSHOT.jar, Почему это так? Очевидно, что код не запускается из-за java.lang.NoClassDefFoundError ошибка

Обратите внимание, что я использую maven-jar-plugin создать этот файл jar

1 ответ

Надеюсь, у вас есть разрыв строки в конце последней строки в вашем файле манифеста. Если нет, то добавьте разрыв строки после последней строки Manifest.mf

Другие вопросы по тегам