21

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

有谁知道这是否可能?

4

4 回答 4

38

Jetty 嵌入页面上列出了一个示例,网址为http://docs.codehaus.org/display/JETTY/Embedding+Jetty

诀窍是为您的类路径位置创建一个文件 URL。

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

ServletContextHandler context = new ServletContextHandler();
context.setContextPath("/");
context.setResourceBase(webDir);
于 2009-10-23T17:28:46.850 回答
5

这很简单,如果你把 Spring 加入等式。就这样:

...

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

 server.addHandler(webAppContext);

 ……

这将使码头在 jar 文件中找到必要的网络资源。

于 2010-06-08T08:51:36.343 回答
-4

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

于 2009-09-22T22:36:34.883 回答
-8

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

于 2009-09-23T11:49:19.907 回答