Я давно использую STS и Java для разработки веб-приложения. Проект настроен для использования Maven, Roo и MySQL в качестве базы данных. Я часто нахожу, что трачу много времени в следующих случаях:
Нет ответа Roo - когда я изменяю Java-класс объекта домена, даже если оболочка Roo для проекта открыта и загружена, она не будет отвечать. Мой текущий взлом к этой проблеме состоит в том, чтобы сгенерировать новый искатель для класса, используя roo (который как-то пробуждает Roo). Есть ли лучший взломать?
Долгое время для компиляции - Я установил сборку автоматически как вариант проекта. Возможно, я не должен использовать это. Но суть в том, что иногда мне нужно сделать небольшое изменение в доменном объекте, а затем запустить проект, следовательно, мне нужно снова собрать проект и протестировать его (даже для небольших изменений). Есть ли какие-либо свойства, которые я могу настроить, чтобы перекомпилировать только некоторые части проекта?
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? Будет ли то же самое или будет быстрее? Я знаю, что есть несколько дискуссий по этому вопросу, но, поскольку я перечисляю проблемы, которые у меня возникают, я подумал, что упомяну об этом также Это вечный вопрос о том, какой язык использовать и для чего. В нашем случае у нас есть реляционная база данных, огромный объем данных, ограничения безопасности, и нам нужно делать точные вычисления (необходима строгая типизация данных).