2013-02-11 3 views
2

Я хочу обслуживать мои .html-сайты из архива .jar, а не из папки. На данный момент я использую гризли (с трикотажем) и служат статические страницы, как:html server grizzly + jersey (.html from .jar archive)

HttpServer webServer; 
.... 
.... 
webServer.getServerConfiguration().addHttpHandler(new StaticHttpHandler("varwww"), "/app"); 
webServer.start(); 

Есть ли способ, чтобы получить веб-сервер не получить .html из папки «varwww» и получить его от myhtml.jar ?

ответ

3

Эта функция реализована в Grizzly 2.3.3+. Вот корреспондент issue.

Вы можете использовать специальный CLStaticHttpHandler и передать ClassLoader для поиска статических ресурсов. Например:

httpServer.getServerConfiguration().addHttpHandler(
      new CLStaticHttpHandler(new URLClassLoader(new URL[] {new URL("file:///home/username/staticfiles.jar")})), "/www"); 

Надеюсь, что это поможет.

+0

не могли бы вы взглянуть на мой вопрос гризли: http://stackoverflow.com/questions/35123194/jersey-2-render-swagger-static-content-correctly-without-trailing-slash – DerekY