私は、Vertx-Webアプリケーション用のファットジャーを構築しています。いくつかの静的ファイルを提供したいと思います。 jarファイルをwebrootフォルダとともにパッケージ化しました。私のjarファイル構造のためのスクリーンショット以下を参照してください。Vertx Webroot in Fat Jar
私がやっによりWebルート/静的/ test.htmlというファイルをロードすることができました:
routingContext.response().sendFile("webroot/static/test.html");
をしかし、私は取得することはできませんよ動作する静的ハンドラ。以下は私の完全なコードです:
package com.jdescript;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import io.vertx.core.AbstractVerticle;
import io.vertx.core.http.HttpServer;
import io.vertx.ext.web.Router;
import io.vertx.ext.web.handler.StaticHandler;
public class WebVerticle extends AbstractVerticle {
private HttpServer httpServer;
@Override
public void start() throws IOException {
httpServer = vertx.createHttpServer();
Router router = Router.router(vertx);
router.route("/static/*").handler(StaticHandler.create());
router.route("/test").handler(routingContext -> {
routingContext.response().sendFile("webroot/static/test.html");
});
httpServer.requestHandler(router::accept).listen(9999);
}
}
上記の例では、http://localhost:9999/test test.htmlというレンダリングする一方、http://localhost:9999/static/test.htmlは、「見つかりません」と言うだろう。
ご協力いただければ幸いです。