Как правильно создать новый проект Spring Roo с несколькими модулями maven?
Как настроить Spring STS для работы с существующим многомодульным проектом Roo или создать новый с нуля?
Давайте рассмотрим первый случай: создание проекта вне STS с помощью оболочки Roo.
Все, что я делаю, это создаю родительский проект и добавляю в него модуль maven. Я не настроил JPA и не создал никаких объектов.
При импорте проекта такого типа (как существующего проекта Maven) Spring STS не присоединяет природу проекта Java. В результате я не могу использовать функции поддержки содержимого в среде IDE или выполнять рефакторинг (STS жалуется, что код не находится на пути сборки).
Во втором случае я просто хочу создать новый проект из STS и начать использовать Roo с несколькими модулями maven, которые будут созданы позже.
При использовании мастера New Spring Roo Project я выбираю тип пакета "POM" и позволяю мастеру выполнить свою работу. Однако ошибки отображаются в представлении "Проблемы". STS жалуется, что не может найти ожидаемые исходные папки (например, src / main / java...).
Почему это так чертовски сложно?
Спасибо джефф
2 ответа
Ну, я некоторое время использовал Roo и заметил те же аномалии, о которых вы только что сообщили. Я еще не проверил ваш блог, но пометил для дальнейшего чтения.
В любом случае, для моих многомодульных проектов я обычно создаю их внутри или вне STS. Обе они привели к тем же проблемам, о которых вы сообщили (#1 неправильная структура родительского проекта, не найден src, и #2 повреждены проекты после импорта в виде проектов Maven).
Прежде всего я хотел бы уточнить, что вам не нужно запускать "выполнить затмение" перед импортом проекта в STS или любую версию Eclipse с плагином Maven. Импорт будет работать (с предыдущими недостатками) только с помощью опции "Импорт проекта Maven" (и это также явно написано в руководстве по Roo).
Что касается проблем, о которых мы говорим, я обычно удаляю Roo nature из POM дочерних проектов, чтобы не открывать Roo Shell (если это произойдет, Roo, как правило, удаляет некоторые файлы.aj и, как вы сказали, это повредит ваш файл. проект). Затем я придерживаюсь Roo, используя только внутри родительского проекта, а затем использую команду "module focus" для работы с дочерними проектами.
Я верю, что команда Spring сделает все в свое время отлично работающей, но пока Roo - отличный вариант, и я считаю, что эти обходные пути заслуживают того, чтобы продолжать использовать их в Eclipse/STS.
С уважением, Тьяго Уриэль
Прежде всего, если вам нужно работать с консольным проектом Roo в Eclipse - вам нужно запустить perform eclipse
в вашей оболочке Spring Roo. Внутри он вызывает плагин Maven Eclipse и запускает mvn eclipse:eclipse
чтобы убедиться, что ваш проект Maven может быть успешно импортирован в Eclipse / STS.
По поводу многомодульных проектов, пожалуйста, смотрите существующие вопросы, связанные с многомодульными проектами в Stackru.
Приветствия.