Tôi muốn Grizzly phân phát các tệp tĩnh từ bên trong .jar, chứa ứng dụng JAX-RS, Grizzly và tất cả các libs khác. Tôi đang sử dụng org.glassfish.grizzly.http.server.StaticHttpHandler
để phục vụ các tệp tĩnh.Cung cấp nội dung tĩnh với staticHttpHandler của grizzly từ bên trong một .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();
}
}
Nhưng nó chỉ hoạt động, nếu tôi khởi động ứng dụng bằng IDE của mình. Nếu tôi đóng gói .jar và chạy nó, các tập tin tĩnh không được tìm thấy.
Có thể phân phát tệp tĩnh từ bên trong .jar với sốcủa grizzly không? Và làm thế nào?
Cảm ơn bạn, nhưng nơi tôi có thể tìm CLStaticHttpHandler? Nó không nằm trong gói Grizzly và thậm chí Google chỉ tìm thấy 3 trang về nó. – deamon
Nó đi kèm với phiên bản Grizzly 2.3.3. Bạn có thể tìm thêm chi tiết tại đây: https://mytecc.wordpress.com/2013/06/06/grizzly-2-3-3-serving-static-http-resources-from-jar-files/ – alexey
Ok, tôi ' m không cập nhật, bởi vì Grizzly là một sự phụ thuộc quá độ từ JAX-RS cho tôi. – deamon