СТС Весна с Ру и Мейвен - слишком медленно? - PullRequest
12 голосов
/ 25 августа 2011

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

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

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

  3. Maven и Pom - У меня часто возникали проблемы с Maven, как всякий раз, когда я изменял зависимость в файле pom.xml и сохранял ее, забывая при этом находиться во внутренней сети компании .m2 библиотека не будет обновлена ​​правильно. В этих случаях я должен был переключиться на внешнюю сеть перед сохранением pom.xml. Раздражающий бит состоит в том, что, как только я затем изменю сетевые настройки и введу команду «обновить все maven зависимости», он не будет делать это должным образом. Причина в том, что файлы pom для новой библиотеки создаются, но с сообщением об ошибке в качестве содержимого. Проблема, по-видимому, заключается в том, что Maven генерирует эти файлы, но не настолько умен, чтобы распознавать их и пытаться снова извлечь библиотеки из веб-хранилищ. Чтобы это исправить, мне нужно удалить содержимое папки и снова запустить команду. Кто-нибудь нашел лучшее решение?

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

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

Java и STS

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

Ответы [ 2 ]

5 голосов
/ 25 августа 2011

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

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

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

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

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

1 голос
/ 25 августа 2011

1. Нет ответа ROO

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

2. Долгое время компилировать

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

3. Maven и POM

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

...