Веб-сервер Javalin загружает конфигурацию с другого веб-сервера - PullRequest
0 голосов
/ 18 июня 2020

У меня есть этот сервер, на котором я загружаю несколько разных jar-файлов в качестве плагинов. 2 из этих банок используют веб-сервер Javalin, Jetty для некоторых функций. В настоящее время мой плагин по какой-то причине загружает io.javalin.core.JavalinConfig из другого jar-файла, и это вызывает конфликты, так как он также будет жаловаться на то, что не может найти веб-файлы, которые находятся в файле jar.

[13:46:30 ПРЕДУПРЕЖДЕНИЕ]: [ItemSorter] Загружен класс io.javalin.core.JavalinConfig из Storefront v2.0-SNAPSHOT, который не является зависимым, программно зависимым или загружаемым перед этим плагином.
[13:46:30 ПРЕДУПРЕЖДЕНИЕ]: [ItemSorter] Плагин ItemSorter v0.01 сгенерировал исключение при выполнении задачи 221 java .lang.RuntimeException: каталог ресурсов Stati c с путем: '/ web' не существует. В зависимости от ваших настроек пустые папки могут не копироваться в путь к классам. в io.javalin.http.staticfiles.JettyResourceHandler.getResourcePath (JettyResourceHandler.kt: 59) ~ [?:?] в io.javalin.http.staticfiles.JettyResourceHandler.addStaticFileConfig (JettyResource: 27) ~? в io.javalin.core.JavalinConfig.addStaticFiles (JavalinConfig. java: 122) ~ [?:?] в io.javalin.core.JavalinConfig.addStaticFiles (JavalinConfig. java: 115) ~ [?:?] в io.javalin.core.JavalinConfig.addStaticFiles (JavalinConfig. java: 111) ~ [?:?]

Фрагмент загрузки моего javalin:

app = Javalin.create(config -> {
        config.addStaticFiles("/web");
        config.showJavalinBanner = false;
        config.requestCacheSize = 30000L;
    }).start(config.getInt("port"));

Фрагмент другого плагина, загружающего javalin:

val app = Javalin.create().start(7000)

У кого-нибудь есть какие-нибудь идеи относительно разделения своих загрузок?

1 Ответ

0 голосов
/ 23 июня 2020

Путь, который вы предоставляете методу addStaticFiles(), является полным именем пути.

Ошибка сообщает вам, что у вас нет каталога (или файла) в вашей файловой системе в /web ( который будет каталогом с именем «web» в root вашей файловой системы)

Сделайте путь указателем на реальное местоположение ресурса, которое действительно существует.

...