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