Проект Java Spring без точки входа

#java #spring #github #jar #war

Вопрос:

При попытке использовать некоторые весенние проекты с GitHub я сталкиваюсь с тем, что в проекте нет файла с точкой входа (основная общедоступная статика), вопрос в том, как запускать такие проекты?

введите описание изображения здесь

Комментарии:

1. Не могли бы вы, пожалуйста, связать репозиторий?

Ответ №1:

Если требуется , чтобы проект был упакован как WAR и развернут на сервере приложений для запуска, «статическая основная» точка входа находится на сервере приложений, но не в вашем приложении.

В случае Tomcat он относится к классу org.apache.catalina.startup.Bootstrap

Ответ №2:

Это зависит от того, как вы собираетесь запускать свое приложение. Если вы просто хотите запустить свой проект в какой-либо среде разработки или JAR файле, достаточно объявить следующий main метод:

 @SpringBootApplication
public class BackendServerApplication {

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

где BackendServerApplication.class находится класс «точка входа».

Если вам нужно развернуть приложение из WAR файла, вам также необходимо расширить SpringBootServletInitializer класс, но имейте в виду, что main метод не вызывается (потому что, как упоминал Кен Чан, точка входа находится на сервере приложений, но не в вашем приложении). Вы можете узнать больше здесь и здесь.

 @SpringBootApplication
public class BackendServerApplication extends SpringBootServletInitializer {

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

Комментарии:

1. Спасибо, я постараюсь 🙂

2. Я сожалею , что если существующий проект не является приложением для загрузки spring (а я думаю , что это не так , иначе OP уже должен найти основной класс), перенос его в проект с загрузкой spring-это не просто добавление @SpringBootApplication класса, вам нужно сделать гораздо больше для миграции.