Как правильно создать новый проект Spring Roo с несколькими модулями maven? - PullRequest
2 голосов
/ 27 марта 2012

Как настроить 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 ]

1 голос
/ 04 апреля 2012

Ну, я уже некоторое время пользуюсь Roo и заметил те же аномалии, о которых вы только что сообщили. Я еще не проверил ваш блог, но отмечен для дальнейшего чтения.

В любом случае, для своих многомодульных проектов я обычно создаю их внутри или вне STS. В результате возникли те же проблемы, о которых вы сообщили (# 1 неправильная структура родительского проекта, не найден src, и # 2 повреждены проекты после импорта в виде проектов Maven).

Первое, что я хотел бы уточнить, это то, что вам не нужно запускать «выполнить затмение» перед импортом проекта в STS или любую версию Eclipse с плагином Maven. Импорт будет работать (с предыдущими недостатками) только с помощью опции «Импорт проекта Maven» (и это также явно написано в руководстве по Roo).

Что касается вопросов, о которых мы говорим, я обычно удаляю Roo nature из POM дочерних проектов, чтобы не открывать Roo Shell (если это происходит, Roo, как правило, удаляет некоторые файлы .aj и, как вы сказали, это испортит ваш проект). Затем я придерживаюсь Roo только используя внутри родительского проекта, а затем использую команду «module focus» для работы с дочерними проектами.

Я полагаю, что Spring Team в свое время сделает все нормально, но пока Roo - отличный вариант, и я считаю, что эти обходные пути заслуживают того, чтобы продолжать использовать его в Eclipse / STS.

С уважением, Тьяго Уриэль

0 голосов
/ 27 марта 2012

Прежде всего, если вам нужно работать с консольным проектом Roo в Eclipse - вам нужно запустить perform eclipse в вашей оболочке Spring Roo.Внутренне он вызывает плагин Maven Eclipse и запускает mvn eclipse:eclipse, чтобы убедиться, что ваш проект Maven может быть успешно импортирован в Eclipse / STS.

В отношении многомодульных проектов, пожалуйста, смотрите существующие вопросы, связанные с многомодульными проектами.на StackOverflow.

Приветствия.

...