2013-09-02 1 views
0

Я новичок в Java EE, до сих пор я наслаждался средой разработки Java SE простой и опрятной. Теперь я работаю над проектами Java EE, я использую eclipse с сервером GlassFish.Как упростить среду разработки Java EE

Я не очень доволен средой разработки Java EE. Каждый раз при запуске & развертывание проектов требует времени, а не просто.

Мое сомнение заключается в том, найдут ли все еще люди во всем мире, столкнувшиеся с одной и той же проблемой или любой альтернативой, решить эту проблему?

Здесь я имею в виду вопросы - Интеграция Eclipse, & GlassFish - Каждый раз, когда стоп/старт/развернуть проект в не затмить - Нет согласованность в поведении GlassFish, много раз я должен перезагрузить Glassfish - и т.д. .,

+0

Интеграция между Eclipse и Glassfish - это кошмар в моем опыте. Коннектор стеклянной рыбы неисправен, затмение аварийно падает (кто знает, что вызывает плагин или плагины). OTOH У меня не было проблем с IntelliJ IDEA, он имеет бесшовную интеграцию для Glassfish. Однако это не бесплатно. К сожалению, для меня нет возможности использовать ATM, я бы использовал это, если мог. –

+0

Вы считали Netbeans? Он часто связан с Glassfish, интеграция очень хороша, и вы можете включить компиляцию при сохранении: http://wiki.netbeans.org/FaqCompileOnSave#In_7.3_and_before, к сожалению, вы можете столкнуться с проблемами пермского поколения. По этой причине развертывание в tomcat (которое лучше справляется с принудительным удалением объектов класса, может удалить эту проблему, если это станет проблемой), и tomcat, и glassfish могут находиться в одном комплекте и переключаться между ними довольно тривиально. – Quaternion

ответ

2

Чтобы уменьшить время развертывания, вы можете использовать JRebel. Использование этого плагина eclipse значительно сократит затраты времени на развертывание. Это не бесплатно для коммерческих проектов, но для открытых и некоммерческих проектов вы можете получить бесплатную подписку на один год. См. their plans.

Вы также можете ознакомиться с имеющимися опциями here.

+0

Любые бесплатные альтернативы? – sokid

+1

@sokid: Насколько я знаю, нет. Я так долго страдал. После перехода на tomcat (мы выбрали Spring позже) проблема была немного уменьшена, поскольку время ее развертывания намного меньше, чем полномасштабный сервер приложений. –

+0

@sokid: Смотрите мое редактирование. –

0

Вы не хотите останавливать/запускать/развертывать сервер каждый раз. вы должны делать это только тогда, когда вы делаете chage в сервлете или стороне ejb. если вы делаете изменения только на странице jsp, вы не хотите останавливать/запускать/развертывать сервер.

+0

Когда мы разрабатываем модули сервлетов или EJB, часто приходится передислоцировать проект, он потребляет больше времени. – sokid

1

Когда я перераспределить средний EJB проект, он занимает около 4s упаковать его, используя муравья и 4s для JBoss 7, чтобы развернуть его (она содержит пять зависимостей как .jar файлов).

Чтобы ускорить это рассмотреть эти варианты:

  • Используйте что-то вроде JRebel или Agent Smith (с открытым исходным кодом), который «горячей замены» классы запущенного приложения, чтобы минимизировать передислокацию.

  • Отделите свои функциональные возможности от сеансового компонента без состояния. Переместите функциональность в обычном Java-классе, который вы также можете вызвать из автономного приложения. Это минимизирует количество необходимых вам развертываний.

  • Отдельный бэкэнд (EJB и т. Д.) И клиент (JSP, приложения с командной строкой), так что только одна часть должна быть переустановлена.

  • Использование сценариев в ваших EJB: в этом режиме EJB использует что-то вроде BeanShell, получает скрипт из базы данных и, например, интерпретирует его во время выполнения. Поэтому вместо повторного развертывания вы обновляете скрипт в базе данных.

  • Только пакет .jars, который вам действительно нужен. Я завершил проект, в котором мне пришлось удалить все библиотеки с открытым исходным кодом, и это дало большой толчок.

  • Посмотрите на Application client containers (ACC).Цитата:

По сравнению с другими контейнерами Java EE, РДЦ легкий.