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
codice:
jar cvfm....
sapete aiutarmi? mi perdo un riferimento nel classpath o qualcosa di simile?
grazie
ciao