Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java tools & IDE's > Spring приложение в NetBeans |
Автор: korob2001 18.4.2023, 15:33 | ||||||||||||
Привет всем! Попала, мне в руки книга "Spring быстро" и начал я её читать. Тема оказалась увлекательная и дошёл я за пару дней к теме Spring Boot. Все примеры писал в NetBeans 17. По совету автора зашёл на https://start.spring.io/, создал заготовку под Spring MVC приложение. Открыл его в NetBeans, установил Tomcat 10.x. И уже третий день пытаюсь запустить всю эту канитель. Добавил простейший контроллер HomeController.java
Создал в каталоге src/main/resources/static HTML файл home.html
и запускаю. Tomcat стартует, приложение деплоится, но выходе получаю постоянно одну и ту же ошибку.
Пытался искать в сети, но всё, что находил это проблему со структурой пакетов, например, мне https://start.spring.io/ сгенерировал такую структуру:
я создал пакет для контроллеров и положил в него контроллер:
Указал даже в файле my.site.java.main.MySpringAppApplication.java, что бы он искал компоненты в my.site.java.main.controllers:
результат тот же. ;(((( Пробовал в STS запускать, там всё работает. Такое впечатление, что контроллер не может найти файл home.html, потому как, когда я добавляю HTML файл в каталог src/main/resources/static, то файл добавляется вообще в каталог WebPages, рядом с каталогом META-INF, я его потом вручную перетаскиваю в src/main/resources/static. У меня вообще такое впечатление, что я один использую NetBeans, в сети полно примеров на IDEA, но для WEB нужно Ultimate версия, которой цены сложить не могут, потому её даже не продают, а сдают в аренду. (аля подписка). Spring учу для себя. |
Автор: LSD 18.4.2023, 23:28 | ||||
Спринг сам https://spring.io/blog/2013/12/19/serving-static-web-content-with-spring-boot:
в статические ресурсы и сам же будет их отдавать, писать для этого контроллер - не нужно. Сам контроллер в примере отдает строку, а не страничку. Спринг буту установленный томкат не нужен, он его сам запускает. start.spring.io генерирует билд файл из которого можно запустить приложение: ./gradlew bootRun (это если есть подозрение, что IDE косячит). Можно включить дебаг логи и посмотреть куда биндится контроллер
|
Автор: korob2001 19.4.2023, 00:03 |
Привет LSD, Я понимаю, что метод контроллера (action) возвращает строку, в моём случае это имя файла home.html (view), но он упорно его не находит. При этом в STS работает, без проблем. Просто не хочется в зависимости от типа проекта менять IDE. Типа, хотите я вам напишу чего-нить для консоли или десктопа? Мне нужно установить NetBeans, ой вам нужно MVC приложение, подождите я установлю STS. Ещё одна причина, почему я думаю, что с папкой src/main/resources что-то не так. На ней восклицательный знак, если навожу на него курсор, всплывает окошко, прикрепляю скрин. Написано, что Директория с ресурсами определена в POM. Может это из-за того, что включены: Filtering: true и в списке нет файлов типа **/application*.html? Сейчас поищу, может можно как-то эту фильтрацию отключить. |
Автор: korob2001 20.4.2023, 00:36 |
В общем ничего я так и не нашёл, переехал в STS пока. Как-то не воодушевляет меня когда создаю файл в папке resources, а он появляется в /META-INF, хорошо хоть не в system32 ![]() Теперь хоть дальше могу двигаться, а то застрял на половине книги. |
Автор: LSD 21.4.2023, 22:07 |
Как я писал надо попробовать запустить из консоли через грейдл. Если запустится - надо разбираться с run конфигурацией NetBeans. Если и из консоли не будет работать, то проблема уже серьезнее, т.к. сгенерированный проект должен работать и значит что-то не так с окружением запуска. |