2009-08-08 11 views
7

Questo dovrebbe essere abbastanza facile, ma per qualche motivo quasi tutto ciò che provo sembra dare un errore "non trovato" quando lo collego ad un browser web.Fornisce contenuto statico da un file jar con Jetty?

Ho un singolo contesto statico e per il ResourceBase ho "file: jar:/path/to/myjar! /." ... qualche idea su cosa mi manca?

risposta

2

Prova a caricare la risorsa da classloader come questo,

ClassLoader classLoader = 
       Thread.currentThread().getContextClassLoader(); 

     if (classLoader == null) { 
      classLoader = getClass().getClassLoader(); 
     } 


     InputStream stream = classLoader.getResourceAsStream(name); 

Il tuo approccio presuppone percorso assoluto e non può essere vero quando il server viene distribuito. Il jar potrebbe essere in un altro JAR (WAR) o in una directory temporanea.

+0

Posso facilmente modificare il percorso in seguito, sto solo vedendo se riesco a far funzionare tutto, e non sto caricando un servlet dal JAR - solo file .html statici. –

+1

Non penso che la tua sintassi sia giusta. Dovrebbe essere, jar: file: /path/to/my.jar!/Package/file Se questo è su Windows, potrebbe anche essere necessaria la lettera di unità. –

Problemi correlati