Как я могу развернуть существующие веб-приложения (войны) на встроенном сервере Spring Boot (tomcat) - PullRequest
2 голосов
/ 11 апреля 2020

У меня есть приложение, которое позволяет динамически генерировать веб-приложения (войны), и я хотел бы развернуть эти приложения на сервере, чтобы протестировать их, и я думаю поместить их в тот же встроенный сервер Spring, вот как я решил проблема с простым основным java.

public class Main {
    private final static Logger logger = LoggerFactory.getLogger(Main.class);
    private final static File catalinaHome = new File(
            "C:\\Users\\Dev\\Desktop\\demo\\userstory-2\\compiler\\patternHost");
    private static Tomcat tomcat = null;
    public static void main(String[] args) {
        tomcat = new Tomcat();
        tomcat.setPort(8080);
        tomcat.setBaseDir(catalinaHome.getAbsolutePath());
        tomcat.getHost().setAutoDeploy(true);
        tomcat.getHost().setDeployOnStartup(true);
        tomcat.getServer().addLifecycleListener(new VersionLoggerListener());
        tomcat.getHost().addLifecycleListener(new HostConfig());
        try {
            tomcat.start();
        } catch (LifecycleException e) {
            logger.error("Tomcat could not be started.");
            e.printStackTrace();
        }
        logger.info("Tomcat started on " + tomcat.getHost());
        tomcat.getServer().await();
    }
}

Как можно сделать то же самое с пружинной загрузкой.

1 Ответ

0 голосов
/ 11 апреля 2020

Таким образом я преобразовал приложение без пружины в загрузочную пружину, и это сработало для меня Я смог запустить его с помощью встроенного загрузчика Tomcat. Надеюсь, это поможет.

Весенняя загрузка - это скорость, она поставляется со встроенным сервером tomcat (при условии, что вы используете зависимость spring-boot-starter-web), и теперь все, что вам нужно, это java для запуска автономной работы. приложение весенней загрузки. Это сокращает ручные шаги копирования военного файла в папку webapp tomcat и последующего его запуска.

Попробуйте подход, который подходит вашему приложению.

Если ваше старое приложение основано на пружине:

  1. Создайте новый стартовый веб-проект с весенней загрузкой и скопируйте старый код в этот новый проект. Измените application.properties, папку ресурсов, добавьте все необходимые зависимости в файл pom. xml и измените пакет на war.
  2. Сделайте mvn clean install, он сгенерирует военный файл (со встроенным tomcat) в папке target каталога вашего проекта root. Теперь, чтобы запустить его, все, что вам нужно сделать, это открыть терминал в целевой папке и запустить java -jar your_warFileName.war, чтобы запустить приложение.

Если ваше старое приложение не основано на пружине:

  1. Снова начните с нового веб-проекта Spring Boot Starter и скопируйте исходный код, но затем, чтобы использовать старый код с Spring-Boot, сначала вы должны выполнить очистку, например, добавив @RestController в классы контроллера, объявив bean-компоненты, помечая классы с помощью @Service или @Component и автоматически подключая bean-компоненты в соответствующих местах. После того, как ваш код скомпилирован нормально, затем для его запуска вы можете использовать шаг 2, как указано выше.
...