2009-08-08 61 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

相关问题