Я так понял ваш вопрос. Вы создали загрузочное приложение Spring из Spring Initializr, и приложение успешно запускается из командной строки, но не при попытке развертывания на сервере и запуска сервера в режиме отладки.
Вы должны знать, что Spring Initializr создал Spring boot приложение, которое stand-alone
, производственное Spring-приложение, которое вы можете «просто запустить». В автономном смысле сервер включен как зависимое приложение в приложение весенней загрузки, и вам не нужно развертывать его на сервере.
Если вы хотите выполнить развертывание на сервере, вам нужно заставить класс Spring Boot Application @SpringBootApplication расширить класс SpringBootServletInitializer.
@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(DemoApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
В maven необходимо указать основной класс, который собирается запустите и измените упаковку с jar на war.
<packaging>war</packaging>
<start-class>com.tutorialspoint.demo.DemoApplication</start-class>
Для получения дополнительной информации о том, как заставить приложение для весенней загрузки быть развернутым на сервере, проверьте ссылку: https://www.tutorialspoint.com/spring_boot/spring_boot_tomcat_deployment.htm
Если вам не нужно приложение для запуска на сервере, вы просто хотите отладить код. Я бы предложил использовать Eclipse или Intellij. Вы включаете панель весенней загрузки в перспективе и запускаете приложение весенней загрузки в режиме отладки. Проверьте эту ссылку, чтобы понять, как включить и использовать панель управления с пружинной загрузкой: https://medium.com/danielpadua/java-spring-boot-eclipse-744454468670