В настоящее время мы используем MyEclipse с его встроенной интеграцией Maven4MyEclipse и встроенной поддержкой J2EE-сервера, но хотим перейти на обычное затмение (в частности, Helios), чтобы иметь возможность использовать его 64-битную установку в Windows.(MyEclipse пока не поддерживает 64-битную версию в Windows.)
Пока у меня есть рабочий прототип Helios eclipse, использующий m2eclipse с плагином WTP, который развертывает наше большое веб-приложение на tomcat.Развертывание требует немного ресурсов процессора, но оно работает, и приложение запускается.
Что здесь принципиально отличается, так это то, как развертываются зависимые проекты.В нашей среде MyEclipse все зависимые проекты были развернуты в разобранном виде в папке WEB-INF / classes, и поэтому во время работы сервера изменение java-класса в IDE скопировало бы только затронутые файлы вWEB-INF / classes сервера и возможность горячей замены класса в JVM и ... boom - оперативное изменение на сервере.БОЛЬШОЙ для отладки.
Однако при моем преобразовании helios все зависимые проекты получают JAR-файлы и помещают в WEB-INF / lib.Это имеет то преимущество, что на самом деле выглядит так, как выглядит наше настоящее производственное изображение, созданное компанией Maven, но среда разработки находится в невыгодном положении из-за того, что возможность горячей замены, похоже, полностью потеряна.Здесь, если я изменю класс java в зависимом проекте, m2eclipse перепакует JAR, увидит, что развернутое веб-приложение не синхронизировано, и повторно опубликует все приложение.Это не только проблема в том, что все веб-приложение должно циклически повторяться (что, честно говоря, не очень хорошо, учитывая его размер и огромное время инициализации), это также неприятная задержка затмения при повторной публикации.(Для нашего приложения это занимает около минуты или двух.)
Итак, мой вопрос заключается в следующем: есть ли способ получить изменения в зависимых проектах для горячей замены на работающую JVM и замены развернутых файлов без этой неприятнойпереиздать штраф?Я предполагаю, что это означает развертывание этих файлов классов в классах WEB-INF /, но я не знаю наверняка, что это (а) возможно или (б) действительно необходимо как часть этого решения.
Что такоедругие делают, чтобы решить это?Это разрешимо?
Заранее спасибо!