嵌入式Jetty在其Jar文件中查找文件

时间:2009-09-22 22:23:31

标签: jsp jar jetty embedded-jetty embeddedwebserver

我成功地将Jetty嵌入到测试应用程序中。它可以毫无问题地提供文件。 现在我想知道Jetty是否可以提供其自己的Jar文件中的文件。

有人知道这是否可能?

4 个答案:

答案 0 :(得分:38)

http://docs.codehaus.org/display/JETTY/Embedding+Jetty

的Jetty嵌入页面上列出了一个示例

诀窍是为类路径位置创建文件URL。

String webDir = this.class.getClassLoader().getResource("com/company/project/mywebdir").toExternalForm();

ServletContextHandler context = new ServletContextHandler();
context.setContextPath("/");
context.setResourceBase(webDir);

答案 1 :(得分:5)

如果你将Spring抛入等式中,这很简单。这就是:

 ...

 WebAppContext webAppContext = new WebAppContext();
 webAppContext.setServer(server);
 webAppContext.setContextPath("/");
 webAppContext.setResourceBase(new ClassPathResource("webapp").getURI().toString());

 server.addHandler(webAppContext); 

 ....

这将使jetty在jar文件中找到必要的Web资源。

答案 2 :(得分:-3)

也许更多的是黑客,但JAR文件实际上不是ZIP? (不确定)你能将它们解压缩到一个临时文件夹并从那里提供它们吗?

答案 3 :(得分:-7)

找到答案,它不是Jetty,它是Winstone。 http://winstone.sf.net