我有一个插件项目,我想在其中嵌入 jetty 并显示项目根文件夹中的 index.html 文件。
我正在运行此代码:
Server server = new Server(8080);
ResourceHandler resource_handler = new ResourceHandler();
resource_handler.setDirectoriesListed(true);
resource_handler.setWelcomeFiles(new String[]{ "index.html" });
resource_handler.setResourceBase(".");
HandlerList handlers = new HandlerList();
handlers.setHandlers(new Handler[] { resource_handler, new DefaultHandler() });
server.setHandler(handlers);
server.start();
server.join();
server.setStopAtShutdown(true);
我在浏览器中列出了 Eclipse 文件夹。我将 index.html
移至 eclipse 文件夹,问题解决了。但我希望 jetty 从我的项目根文件夹而不是 Eclipse 根文件夹获取 index.html
文件。有人可以帮助我吗?
最佳答案
资源库应指向相当于您的网络根目录的路径。
示例:
resource_handler.setResourceBase("src/main/webroot");
提示:将这条路径建立在发现其他事物的基础上可能是有意义的。一种常见的技术是首先在项目的类加载器中查找类的文件系统路径,然后构建相对于该发现路径的 Webroot 资源路径。
关于java - jetty正在显示eclipse根文件夹中的index.html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20971504/