ciao,
ho creato un'applicazione che usa diverse librerie esterne e diversi file.
la struttura è questa
codice:
com/
icons/
jars/
languages/
temp/
config.ini
copyright.txt
imgHistory.xml
main-window_icon.png
main-wizard_icon.png
ora io vorrei creare un jar che racchiudesse le immagini esterne e la cartella com (che contiene i file .class) e la cartella jars (che contiene le librerie esterne con le relative dll)
mentre le altre cartelle icons, languages, temp devono restare fuori dal jar ma essere accessibili dall'applicazione tramite path relativo
ho creato il manifest
codice:
Manifest-Version: 1.0
Main-Class: com.msmfc.control.MainController
Class-Path:
jars/forms-1.3.0.jar
jars/gstreamer-java.jar
jars/GSVideo.jar
jars/ini4j.jar
jars/jna.jar
jars/miglayout15-wing.jar
jars/processing-core.jar
jars/RXTXcomm.jar
ho usato il comando
codice:
jar cvfm out.jar manifest.txt com jars main-window_icon.png main-wizard_icon.png
ho quindi copiato il jar creato (out.jar) in una cartella con le sole cartelle e file che volevo fuori dal jar (icons, languages, temp, config.ini, copyright.txt e imgHistory.xml)
però quando eseguo il tutto con
codice:
java -jar out.jar
mi da quest'eccezione
codice:
Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(ImageIcon.java:181)
at com.msmfc.gui.MSMFCSplashScreen.setAsIcon(MSMFCSplashScreen.java:147)
at com.msmfc.gui.MSMFCSplashScreen.addComponentToPane(MSMFCSplashScreen.
java:112)
at com.msmfc.control.MSMFCSplashScreenController.initializeGui(MSMFCSpla
shScreenController.java:28)
at com.msmfc.control.MainController.<init>(MainController.java:120)
at com.msmfc.control.MainController.main(MainController.java:107)
è come se non trovasse l'immagine per lo splash screen che ho incluso all'interno del jar elencandola durante l'esecuzione del comando
sapete aiutarmi? mi perdo un riferimento nel classpath o qualcosa di simile?
grazie
ciao