我成功地将Jetty嵌入到测试应用程序中。它可以毫无问题地提供文件。 现在我想知道Jetty是否可以提供其自己的Jar文件中的文件。
有人知道这是否可能?
答案 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