Это должно быть легко, но это не так. Я немного работал с vert.x 2
и переключился на vert.x 3
в последнее время. Я думал, что попробую простой пример vertx-web, но не могу пройти простую подачу статических файлов.
Мой класс сервера содержит следующие фрагменты:
HttpServer server = vertx.createHttpServer();
Router router = ...;
router.route("/static/*").handler(StaticHandler.create().setCachingEnabled(false));
server.requestHandler(router::accept).listen(ctx.port);
Я использую Eclipse, но также пытаюсь запустить vertx
из командной строки. Я также использую Maven. У меня есть три папки webroot, а vert.x
не может найти ни одного из них:
myproject/webroot
myproject/src/main/resources/webroot
myproject/src/main/java/webroot
Каждый из этих "вебротов" содержит файл index.html
и css/base.css
.
Первый в моей корневой папке проекта. Второй - в папке ресурсов Maven, а третья - на моем classpath
. В моей конфигурации запуска Eclipse я добавил myproject/src/main/resources/webroot в путь к классам, и я убедился, что мой рабочий каталог установлен в "myproject". При запуске из командной строки я попадал в каталог myproject, а мой script выглядит так:
JAVA_OPTS="-Dmyproject.port=8099" CLASSPATH="src/main/java:src/main/resources:target/dependencies/*:target/classes" vertx run com.my.MyProject
Независимо от того, я всегда получаю 404s, когда я пытаюсь использовать любой из этих URL-адресов:
http://localhost:8099
http://localhost:8099/
http://localhost:8099/index.html
http://localhost:8099/static/css/base.css
Что-нибудь еще мне нужно делать?