Strano bug relativo alla distinzione tra maiuscole e minuscole in Class.getResource?

StackOverflow https://stackoverflow.com/questions/234990

  •  04-07-2019
  •  | 
  •  

Domanda

Stavo caricando una risorsa immagine con il seguente codice e funziona bene dal mio ambiente di sviluppo (netbeans) ma ho lanciato un'eccezione non appena è stata eseguita dal desktop.

new ImageIcon(Images.class.getResource("images/highlighter24.gif"));

L'ho rintracciato nel mio file con un caso diverso rispetto al codice.

Bene, mio ??male, ma perché il comportamento incoerente?

Gremlins?

Nota: sto correndo su Windows prima che tu lo chieda.

È stato utile?

Soluzione

Fammi indovinare: in NetBeans lo stava caricando dal file system (che non fa distinzione tra maiuscole e minuscole) mentre quando lo eseguiva dal desktop era in un file jar (che fa distinzione tra maiuscole e minuscole).

Ho già visto questo genere di cose prima, in cui un'app Web funzionava bene su Windows ma non funzionava su Unix perché avevamo sbagliato il caso nell'URL.

Se pensi ai file jar come " solo un altro file system " allora ha senso, anche se è leggermente fastidioso avere l'incoerenza.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top