Среда веб-разработки Java для минимизации времени цикла сборки-развертывания-тестирования? - PullRequest
10 голосов
/ 10 июля 2009

Какая среда веб-разработки на Java лучше всего подходит для того, чтобы свести к минимуму время цикла сборки-развертывания-тестирования?

Среда веб-разработки: JBOSS, Tomcat, Jetty? Развернуть WAR взорвался? Скопировать WAR или использовать символические ссылки? Здесь есть факторы, о которых я не знаю.

Цикл сборки-развертывания-тестирования? Время, необходимое для тестирования изменений в браузере после внесения изменений в исходный код или другие ресурсы (включая исходный код Java, HTML, JSP, JS , изображения и т. д.).

Я рассчитываю ускорить мою разработку, сократив количество времени, которое я трачу на просмотр сборок Ant и запуска J2EE-контейнеров. Мне нужен опыт работы с Ruby on Rails - или как можно ближе.

Я бы предпочел решение, не зависящее от веб-фреймворка, однако, если конкретный фреймворк особенно выгоден, я бы хотел услышать об этом.

Предположим, что используются все стандартные инструменты: Hibernate, Spring, JMS и т. Д. Если для этой работы требуется инфраструктура поддержки заглушек / насмешек, я согласен с этим. На самом деле, я в порядке, если у меня есть среда разработки, которая сильно отличается от нашей производственной среды, если она экономит мне достаточно времени.

Ответы [ 12 ]

7 голосов
/ 10 июля 2009
6 голосов
/ 10 июля 2009

JBOSS использует Tomcat для своего движка сервлетов / JSP, так что это мойка.

Tomcat поддерживает горячее развертывание .

Jetty довольно маленький и запускается быстро, но он не поддерживает горячее развертывание .

Eclipse - это просто IDE. Ему нужен какой-нибудь движок сервлетов / JSP. Если это похоже на IntelliJ, вы можете использовать любой сервер приложений Java EE или механизм сервлетов / JSP, который вам нравится.

IntelliJ чертовски быстр, и вам не нужно останавливаться и запускать сервер каждый раз, когда вы перестраиваете. Он работает от взорвавшейся войны, поэтому все происходит быстро.

5 голосов
/ 10 июля 2009

Сборка (раньше использовалась для компиляции) - это знак нашего времени. Нам нужна быстрая проверка наших мыслей и наших действий. Всякий раз, когда я обнаруживаю, что строю много раз, это, как правило, признак того, что я не сосредоточен. Что у меня нет плана. Для меня это время остановиться и подумать. Сделайте список вещей, которые нужно сделать (это не зависит от веб-фреймворка), сделайте их все и протестируйте все после одной сборки.

3 голосов
/ 10 июля 2009

Jboss Seam вместе с Jboss Developer Studio отлично подходит для горячего развертывания всего, кроме EJB (SLSB, SFSB и сущности необходимо переустановить).

2 голосов
/ 10 июля 2009

GWT в затмении, вероятно, самый быстрый, который я могу придумать. Используя браузерный режим хоста для ваших тестов, вы можете отлаживать и изменять код, не перезапуская ничего. Просто нужно нажать кнопку обновления в браузере, и изменения есть (java, css и т. Д.). Еще одна вещь заключается в том, что GWT добавляет эту же поддержку в обычные браузеры (Firefox, IE, Safari), чтобы вы могли отлаживать их внутри. Эти изменения будут в 2.0. Смотри http://code.google.com/events/io/sessions/GwtPreviewGoogleWebToolkit2.html

2 голосов
/ 10 июля 2009

Вы пытались использовать Eclipse Java EE, а затем сказать ему, чтобы он развертывался на сервере под управлением Eclipse? Таким образом, Tomcat и JBOss работают довольно хорошо. Также вы можете изменить код в методе, использовать Ctrl-S и обновить класс внутри сервера.

MyEclipse также работает очень хорошо, как это.

2 голосов
/ 10 июля 2009
  • Небольшие веб-контейнеры будут загружаться быстрее, чем перегруженные веб-контейнеры со встроенной кухонной раковиной (.. кашель .. jboss).
  • Некоторые проектные решения замедляют время сборки (например, наборы инструментов на основе аспектного плетения добавляют фазу создания аспекта к временам компиляции).
  • Избегайте строительных компонентов, которые могут быть проверены только после длительных циклов нагрузки. Кеши являются основным виновником здесь. Если ваша система сильно зависит от глобального кеша, разбросанного повсюду, вам нужно будет загружать кеш каждый раз, когда вам нужно что-то проверить.
  • Компоненты, проверяемые модулем, так что вы можете запускать части вместо всего.

Я считаю, что проекты, созданные разумно, компилируются, развертываются и запускаются за несколько-десять секунд, что обычно хорошо.

2 голосов
/ 10 июля 2009

Maven 2 и затмение. mvn eclipse: eclipse <- чистая удивительность. Кроме того, WTP в eclipse прекрасно работает (и maven создает рабочие проекты WTP). </p>

2 голосов
/ 10 июля 2009

Развертывание происходит настолько быстро, насколько это возможно с помощью Google App-Engine + GWT (дополнительно) + Eclipse Plugin.

Никогда не видел ничего быстрее.

2 голосов
/ 10 июля 2009

Рассматривали ли вы Grails?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...