我使用this HttpServer类。
如何将WEB_ROOT设置为.jar文件中的资源?

我试图做到

static final File WEB_ROOT = new File(HttpServer.class.getResource("www"));


但是我出现错误“找不到适用于File(URL)的合适的构造函数”。

相容性

~$ javac HttpServer.java


创建jar文件

~$ jar cfe http.jar HttpServer HttpServer.class ./www/


我究竟做错了什么?

最佳答案

要检索jar中的文件,请使用:

InputStream is = HttpServer.class.getResourceAsStream("www");


或者

      static File WEB_ROOT = null;
static {
    try {
        WEB_ROOT = new File(HttpServer.class.getResource("www").toURI());
    } catch (URISyntaxException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}


但是将其设为静态不是一个好主意。

10-08 00:51