嵌入式码头寻找它的JAR文件中的文件(Embedded Jetty looking for file

2019-07-19 02:19发布

我成功地嵌入在测试应用码头。 它可以提供文件没有问题。 现在我想知道这是否是可能的码头服务是其自己的JAR文件中的文件。

有谁知道这是可能的吗?

Answer 1:

一个例子是,在列出的码头嵌入页面上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);


Answer 2:

这是很简单的,如果你把春天到方程。 而且这里有云:

 ...

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

 server.addHandler(webAppContext); 

 ....

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



Answer 3:

也许更多的是黑客攻击,但不是JAR文件实际上ZIP探头? (不知道)你可以对其进行解压缩到一个临时文件夹,并从那里为他们服务?



Answer 4:

找到了答案,这不是码头,这是温斯顿。 http://winstone.sf.net



文章来源: Embedded Jetty looking for files inside its Jar file