6

我希望 Grizzly 从 .jar 中提供静态文件,其中包含 JAX-RS 应用程序、Grizzly 和所有其他库。我org.glassfish.grizzly.http.server.StaticHttpHandler用来提供静态文件。

public class Main {

  // ...

  public static void main(String[] args) throws IOException, URISyntaxException {
    final HttpServer server = startServer();
    server.getServerConfiguration().addHttpHandler(
            new StaticHttpHandler(getTemplatePath()), "/static");
    System.in.read();
    server.stop();
  }

  private static String getTemplatePath() throws URISyntaxException {
    return Main.class.getClassLoader().getResource("templates/static").getPath();
  }
}

但它只有在我使用我的 IDE 启动应用程序时才有效。如果我打包 .jar 并运行它,则找不到静态文件。

是否可以在 .jar 中使用 grizzly 提供静态文件StaticHttpHandler?如何?

4

1 回答 1

7

您必须使用CLStaticHttpHandler而不是StaticHttpHandler.

请看看这个问题 html server grizzly+jersey (.html from .jar archive)

于 2013-06-06T17:58:24.400 回答