Не удалось опубликовать веб-приложение:Проблема с набором инструментов SpringSource?
-
13-09-2019 - |
Вопрос
У меня есть существующее, полностью функциональное веб-приложение Spring, основанное на Spring 2.5.6, разработанное с использованием SpringSource Tool Suite 2.1.0.SR1.
Поскольку я хотел бы использовать REST, я решил обновиться до Spring 3.0.0.M4.После редактирования зависимостей в pom.xml
и изменив свой код, чтобы отразить изменения API в Spring 3.0, я попытался опубликовать свое веб-приложение на локальном сервере (SpringSource tc - производный от Tomcat).
В результате получается почти пустая папка веб-приложения и, следовательно, нефункциональное приложение.Папка приложения содержит только WEB-INF/lib
со всеми библиотеками, требуемыми зависимостями Maven.
Поняв, что что-то сломано, я создал новый проект Spring MVC (основанный на версии 2.5.6 по умолчанию) и опубликовал его на том же сервере.Никаких проблем.Я попытался адаптировать файлы моего проекта (.settings/*
, .project
, .classpath
, .springBeans
), но это ничего не изменило.
Я сейчас совершенно растерян.Я предполагаю, что STS неправильно обрабатывает приложения 3.0.Есть какие-нибудь предложения?
PS:Я не хочу возвращаться к версии 2.5, если в этом нет абсолютной необходимости.Мне не нужны STS и tc, поэтому у меня не возникает проблем с использованием других инструментов, но пока это работало нормально.
Решение 2
Проблема исчезла с более новыми версиями STS.Кроме того, моя среда разработки немного изменилась с тех пор, как я опубликовал этот вопрос, поэтому я не могу точно сказать, что вызвало проблему.Для меня это выглядело как странный сбой внутри STS.
Другие советы
Я постоянно сталкиваюсь с этим, используя Eclipse Galileo и m2eclipse 0.9.8 и Tomcat с WTP.Я думаю, что виновником является m2eclipse.Проблема, похоже, усугубилась после переключения с Ганимеда.Обходной путь заключается в запуске mvn для создания war, а затем копировании содержимого war из "target" в каталог WTP "wtpwebapps".Вы можете удобно найти этот ужасно длинный путь, дважды щелкнув сервер в представлении Servers и выбрав "Открыть конфигурацию запуска", оттуда, я думаю, перейдите на вкладку Arguments (?) и скопируйте свойство catalina.home java, которое определено там в качестве аргумента.
Набор инструментов Spring 2.1.0 требует частичной поддержки для Spring 3.0, но не для остальных функций.Согласно релизу, в будущих выпусках будет добавлена полная поддержка.Из заявления о выпуске:
Характеристики
Поддержка основных этапов Spring 3.0, включая редактирование и проверку XML, поддержку аннотаций @Configuration и @Bean
Будущее
Полная поддержка Spring 3.0, включая инструменты для разработки веб-приложений RESTful
Попробуйте развернуть свое приложение на embedded jetty.'mvn jetty: run' с помощью которого вы подтверждаете, что с вашей сборкой все в порядке (что все правильные манифесты и deps на месте)