Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Runnable Jar non carica immagini se fuori dalla directory che lo contiene

    Salve, scusate ma sto veramente impazzendo.
    Premetto che creo il jar con l'opzione Runnable jar di Eclipse, tuttavia ho provato anche a vedere il Manifest che crea e sembra tutto ok. Comunque vado ad esporre il problema.

    All'interno dell'applicazione ho molte immagini che ho collocato in una cartella dal nome res e nell'interfaccia le carico con:
    codice:
    dialog2.setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getClassLoader().getResource("res/logo.jpg")));
    ed effettivamente funziona correttamente finché eseguo il jar dalla cartella in cui il jar stesso risiede...

    Mi spiego meglio, ipotizziamo di esportare il jar nella cartella "Folder1", se eseguo:
    codice:
    java -jar eseguibile.jar
    il tutto funziona correttamente, se invece salgo nell'albero delle directory ed eseguo:
    codice:
    java -jar Folder1/eseguibile.jar
    sollevando l'eccezione:
    codice:
    Uncaught error fetching image:
    java.lang.NullPointerException
    	at sun.awt.image.URLImageSource.getConnection(URLImageSource.java:99)
    	at sun.awt.image.URLImageSource.getDecoder(URLImageSource.java:113)
    	at sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:240)
    	at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:172)
    	at sun.awt.image.ImageFetcher.run(ImageFetcher.java:136)
    Sinceramente non riesco a capirne il motivo, il classpath nel primo caso è eseguibile.jar, mentre nel secondo è Folder1/eseguibile.jar...

    Qualcuno può aiutarmi?
    Grazie in anticipo

  2. #2
    Risolto...
    Ho cambiato il modo in cui reperivo le risorse:
    codice:
    dialog2.setIconImage(Toolkit.getDefaultToolkit().getImage(Main.class.getResource("res/logo.jpg")));")
    Dove Main è il nome della mia classe ovviamente

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.