it-swarm.com.ru

Как запустить приложение весенней загрузки в Eclipse tomcat?

У меня есть загрузочное приложение Spring, и я хочу запустить его как серверное приложение в Eclipse . Таким образом, приложение будет распознано как веб-приложение Tomcat и может быть добавлено. Я обновляю фасет: 

 enter image description here

Когда я запускаю веб-приложение, мои службы отдыха не обнаруживаются. Приложение весенней загрузки имеет другую структуру папок, чем весенние приложения до выпуска весенней загрузки. Можно ли запустить приложение с весенней загрузкой из настроенного Eclipse Tomcat? Также до весенней загрузки необходимо указать секцию контроллеров приложения. Нужно ли обновлять мое весеннее загрузочное приложение с этими настройками, чтобы запускаться из Eclipse Tomcat?

Я не хочу создавать войну, а затем скопировать ее в папку веб-приложений Tomcat.

Обновление: причина для запуска этого приложения в контейнере Eclipse Tomcat заключается в том, что у меня есть другие приложения без весенней загрузки, от которых будет зависеть мое новое весеннее загрузочное приложение. 

5
blue-sky

Проверьте ваш pom.xml:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-Tomcat</artifactId>
        <scope>provided</scope>
    </dependency>

Затем проверьте ваш основной класс приложения:

@SpringBootApplication
public class Application extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

Затем настройте аспекты проекта (как вы уже сделали):

  • Динамический веб-модуль
  • Джава
  • Javascript

Затем проверьте сборку развертывания:  enter image description here

Готово!

13
leo

Короткий ответ

  • использовать подключаемые модули Gradle: Eclipse-wtp и war
  • расширить SpringBootServletInitializer в Application

Объяснение:

Для запуска приложения весенней загрузки на Tomcat обычно создаваемый артефакт должен быть приложением war.

Чтобы запустить его на Tomcat внутри Eclipse, вы должны использовать WTP-проект (Платформа веб-инструментов или Динамический веб-модуль) с помощью подключаемого модуля Eclipse-wtp.

Элемент SpringBootServletInitializer должен быть расширен, чтобы запускать контекст приложения Spring Boot при запуске Tomcat.

Как создать тестовый проект

Spring предлагает Учебное пособие по началу работы Как создать REST веб-сервис с Spring Boot. Я улучшил проект для работы с Tomcat и Eclipse:

Проверять, выписываться

пример проекта:

git clone https://github.com/spring-guides/gs-rest-service.git

Импортируйте его в Eclipse

Импортируйте подпапку complete/ как проект Gradle.

Правка build.gradle

удалить

apply plugin: 'Java'
apply plugin: 'Eclipse'

добавлять

apply plugin: 'war'
apply plugin: 'Eclipse-wtp'

Правка src/main/Java/hello/Application.Java

добавить расширение SpringBootServletInitializer

public class Application extends SpringBootServletInitializer {
    ...
}

После этого я могу развернуть пример проекта на сервере Tomcat, настроенном в Eclipse, и запустить сервер. URL-адрес: http: // localhost: 8080/complete /reeting? Name = User

Проверьте Полный образец .

0
andy

Выполните 2 простых шага, и все будет хорошо!

Шаг 1. Измените формат упаковки на war вместо jar в вашем файле pom.xml.

     **<packaging>war</packaging>**

Шаг 2. Щелкните правой кнопкой мыши по вашему проекту, затем выполните Maven -> update project.

После выполнения этих шагов вы найдете опцию «Запуск на сервере» при попытке запустить ваш проект.

0
Fikreselam Elala

Просто добавьте эту аннотацию в основной класс весенней загрузки.

@SpringBootApplication
@Configuration
@ComponentScan(value={"packages name to scan"})

Добавить зависимость в файл pom.xml.

0
Sai Goud

Для тех, кто не может видеть опцию «Сборка развертывания», добавление нижеприродной природы в файл .project включит опцию «Сборка развертывания». 

org.Eclipse.wst.common.modulecore.ModuleCoreNature

После определения структуры упаковки для моего проекта я могу запускать приложение на сервере Tomcat, не копируя вручную файл war в каталоге webapps. 

0
asardana