2009-08-08 59 views
7

這應該是相當容易的,但由於某些原因,我嘗試的幾乎所有事情似乎都會在我將它連接到Web瀏覽器時發出「未找到」錯誤。使用Jetty從jarfile中提供靜態內容?

我有一個單一的靜態上下文,對於ResourceBase我有'file:jar:/ path/to/myjar!/。'...任何想法我失蹤了?

回答

2

嘗試從這樣的類加載器加載資源,

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

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


     InputStream stream = classLoader.getResourceAsStream(name); 

你的方法假設絕對路徑,並在服務器部署也未必是真實的。該jar可以在另一個JAR(WAR)或一個臨時目錄中。

+0

我可以隨時更改路徑,我只是看到我是否可以完全按照這種方式工作,而不是從JAR加載servlet - 只是靜態的.html文件。 – 2009-08-08 23:15:17

+1

我不認爲你的語法是正確的。它應該是: jar:file:/path/to/my.jar!/ package/file 如果這是在Windows上,您可能還需要驅動器盤符。 – 2009-08-08 23:37:59

相關問題