Sto cercando di caricare un file di immagine binario per eseguire alcune elaborazioni all'interno del mio codice Java lato server. Attualmente sto mettendo la mia immagine nella confezione in cui è presente la mia classe di esecuzione e chiamando:Come posso leggere un file di risorse in un file di guerra inesploso distribuito in Tomcat?
Image img = Image.getInstance(this.getClass().getResource("logo.png"));
Questo funziona bene quando sono in esecuzione Tomcat sulla mia casella di sviluppo in una configurazione di guerra esplosa, ma quando schiero a un server eseguendo Tomcat dove non esplode i file war, la chiamata a getResource restituisce null.
Ho anche provato a spostare l'immagine al mio contesto radice e accedendo in questo modo:
Image img = Image.getInstance(this.getClass().getResource("/../../logo.png"));
Ancora una volta, questo funziona sulla mia casella di sviluppo, ma non quando ho distribuire altrove.
C'è un modo migliore per accedere a questo file? Che cosa sto facendo di sbagliato?
Grazie !!
probabilmente dovrebbe avere anche detto che io sono usando Maven per costruire la mia app web. Ho una risposta completa che risolve il mio problema, ma non posso postarlo per 8 ore sulla mia stessa domanda. – 11101101b
Metti risorse nella tua directory "src/main/resources". Quindi accedervi con: this.getClass(). GetResource ("/ logo.png"); oppure: Thread.currentThread(). GetContextClassLoader(). GetResource ("logo.png"); – 11101101b