Я пытаюсь реструктурировать устаревшее приложение и сократить количество шагов, необходимых для развертывания.Для этого я упаковываю все файлы классов и ресурсы в файл jar.
Я использую эту команду для jar всего:
jar -cfm ../Deploy/JEmu.jar Manifest.txt * .class Resources /
Мой файл манифеста выглядит так:
Manifest-Version: 1.0
Created-By: 1.2.2 (Sun Microsystems Inc.)
Main-Class: JEmu
Name: JEmu.class
Класс, который является точкой входа, - JEmu.class, который упакован в банку, но когда я запускаю банку, я получаю эту ошибку:
java -jar JEmu.jar
Exception in thread "main" java.lang.ExceptionInInitializerError
Caused by: java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(Unknown Source)
at ControlBar.<init>(ControlBar.java:88)
at JEmu.<clinit>(JEmu.java:85)
Could not find the main class: JEmu. Program will exit.
Я не совсем уверен, что является причиной этого.
Строка 88 ControlBar:
stopButton = new JButton( new ImageIcon( classLoader.getResource("Resources/stop.gif")));
Что я делаю не так, все работает, когда не упаковано в банку?