eastywest
@eastywest
Backend developer

Как правильно создать war для запуска встроенного Jetty сервера?

С помощью IntelliJ IDEA пытаюсь создать war файл для запуска с помощью Jetty без использования сервлетов.

Код такой:
package org.example;

import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.HandlerList;

public class HelloWorld {

    public static void main(String[] args) throws Exception {
        Server server = new Server(8080);

        HandlerList handlers = new HandlerList();
        handlers.setHandlers(new Handler[] {new SimpleHandler()});

        server.setHandler(handlers);

        server.start();
        server.join();
    }
}


При непосредственном запуске из консоли - mvn clean compile exec:java, все работает прекрасно.
Но, если создать war файл из IDE, то при его деплое в браузере отображается содержимое этого файла - папки WEB-INF и META-INF.

В чем может быть причина?
  • Вопрос задан
  • 3819 просмотров
Решения вопроса 1
anyd3v
@anyd3v
Вы запускаете приложение (именно java приложение) и устанавливаете ему хендлер, который видимо и отрабатывается при получении запросов. В случае же деплоя в контейнер ваш код по установке хендлера не будет выполнятся и соответственно вы и получаете текущее поведение. У вас 2 пути:
1. запускать ваше приложение как приложение java (java -jar ...)
2. в конфиге сервера прописывать ваш хендлер
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
eastywest
@eastywest Автор вопроса
Backend developer
В итоге остановился на способе запуска java -jar

Для этого создаю один jar файл со всеми библиотеками
Ответ написан
Комментировать
@gurinderu
java developer
То что вы написали нельзя запустить в контейнере. По сути вы руками создаете контеинер, зачем вам вообще он нужен?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Bell Integrator Ульяновск
До 400 000 ₽
Bell Integrator Хабаровск
До 400 000 ₽
Bell Integrator Ижевск
До 400 000 ₽
20 апр. 2024, в 18:09
70000 руб./за проект
20 апр. 2024, в 18:04
3000 руб./за проект
20 апр. 2024, в 17:55
3000 руб./за проект