Chcę, aby Grizzly serwował pliki statyczne z pliku .jar, który zawiera aplikację JAX-RS, Grizzly i wszystkie inne biblioteki. Używam org.glassfish.grizzly.http.server.StaticHttpHandler
do obsługi plików statycznych.Obsługa statycznej zawartości za pomocą StaticHttpHandler grizzly z .jar
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();
}
}
Ale działa tylko wtedy, gdy uruchomię aplikację z moim IDE. Jeśli zapakuję plik .jar i uruchomię go, statyczne pliki nie zostaną znalezione.
Czy można wyświetlać pliki statyczne z pliku .jar z grizzly's StaticHttpHandler
? I jak?
Dziękuję, ale gdzie mogę znaleźć CLStaticHttpHandler? Nie ma go w pakiecie Grizzly, a nawet Google znajduje tylko 3 strony na ten temat. – deamon
Pochodzi z wersją Grizzly 2.3.3. Więcej szczegółów można znaleźć tutaj: https://mytecc.wordpress.com/2013/06/06/grizzly-2-3-3-serving-static-http-resources-from-jar-files/ – alexey
Ok, I ' Nie jestem na bieżąco, ponieważ Grizzly jest dla mnie przejściową zależnością od JAX-RS. – deamon