STS Spring с Roo и Maven - слишком медленно?

Я использую STS и Java с тех пор, пока вы разрабатываете веб-приложение. Проект настроен для использования Maven, Roo и MySQL в качестве базы данных. Я часто нахожу, что я трачу много времени в следующих случаях:

  • Нет ответа Roo - когда я изменяю объект класса Java Java, даже если оболочка Roo для проекта открыта и загружена, она не ответит. Мой текущий хак к этой проблеме заключается в создании нового искателя для класса с использованием roo (который каким-то образом пробуждает Roo). Есть ли лучший взлом?

  • Долгое время для компиляции. Я автоматически установил сборку как вариант проекта. Возможно, я не должен его использовать. Но суть в том, что иногда мне нужно сделать небольшое изменение в объекте домена, а затем запустить проект, поэтому мне нужно снова построить проект и протестировать его (даже для небольших изменений). Есть ли какие-либо свойства, которые я могу настроить для повторной компиляции только некоторых частей проекта?

  • Maven и Pom. Я часто обнаруживал проблемы с Maven, когда всякий раз, когда я изменял зависимость в файле pom.xml и сохранял ее, забыв быть во внутренней сети компании, .m2 библиотека не будет обновляться правильно. В тех случаях я должен был переключиться на не внутреннюю сеть, прежде чем сохранять pom.xml. раздражающий бит заключается в том, что как только я затем изменю сетевые настройки и запустим команду "update all maven dependencies", он не сделает это правильно. Причина в том, что файлы pom для новой библиотеки генерируются, но с сообщением об ошибке как содержимое. Проблема в том, что Maven генерирует эти файлы, но затем недостаточно умна, чтобы распознать их и попытаться снова извлечь библиотеки из веб-репозиториев. Чтобы исправить это, мне нужно удалить содержимое папки и снова запустить команду. Кто-нибудь, кто нашел лучшее решение?

Рой действительно стоит? И если так, когда?

Я обнаружил, что Roo хорош для начала работы и создания исходных конфигураций баз данных и проектов (например, безопасности). Но потом? На данный момент я использую Roo для генерации поисковиков, но часто обнаруживаю, что для обновления Roo требуется около 10/15 минут, когда новый класс добавляется в класс (наш проект довольно большой). Я рассматриваю возможность начать закрытие оболочки Roo большую часть времени и вручную добавить поисковики в файлы .aj и сам аннотировать файл .java. Будет ли этот конфликт с Роо впоследствии (например, как только я открою оболочку Roo по какой-то другой причине)?

Java и STS

Почему проект так долго компилируется? Я имею в виду, я полагаю, что STS проверяет, что в каждом отдельном классе нет зависимости от недавно измененных файлов, и если есть одно обновление кода и восстановление файла jar. Это верно? Что делать, если я использовал PHP или Python? То же самое произойдет или будет быстрее? Я знаю, что есть несколько дискуссий по этому вопросу, но поскольку я перечисляю проблемы, которые у меня есть, я думал, что я тоже упомяну об этом. Вечный вопрос о том, какой язык использовать и для чего. В нашем случае мы имеем реляционную базу данных, огромное количество данных, ограничения безопасности и необходимость делать точные вычисления (требуется строгая типизация данных).

Ответ 1

1. Убедитесь, что Roo указывает на правильный каталог: Настройки, Spring, поддержка Roo

2. Время компиляции часто усугубляется проверкой: Предпочтения, проверка, проверка Приостановить все валидаторы Предпочтения, Spring, снимите флажки с нежелательными правилами проверки Предпочтения, Общие, Сборка, снимите флажок автоматически, затем вручную создайте при необходимости

3. Обновить зависимости, щелкнув правой кнопкой мыши по проекту: Maven, "Зависимости обновлений" и "Обновить конфигурацию проекта"

Некоторые советы содержатся в DZone RefCard, который я написал. http://refcardz.dzone.com/refcardz/eclipse-tools-spring

С уважением, Гордон Диккенс

Ответ 2

1. Отсутствие ответа ROO

Раньше у меня были обычные проблемы с консолью ROO в STS в ранних версиях ROO. По моему опыту, оболочка ROO, запущенная через командную строку, была более отзывчивой. Я думаю, что вещи улучшились в более новых версиях STS и ROO. Какую версию вы используете?

2. Долгое время для компиляции

Хотя время компиляции было достаточно для меня, преступник обычно проверял строителей. Несколько проверяющих сборщиков, которые проверяют конфигурацию XML, JSP, Spring и т.д., Слишком много времени для завершения. Я закончил отключать несколько валидаторов, чтобы привести время сборки в разумные пределы.

3. Maven и POM

У меня тоже были похожие проблемы. Хотя это не совсем проблема ROO, но поскольку ROO не предлагает альтернативы Maven, это может быть серьезной проблемой для проектов ROO. Я думаю, что в M2-Eclipse может быть опция, позволяющая выборочно принудительно обновлять зависимость.