Веб-среда разработки Java для минимизации времени цикла сборки-развертывания-тестирования?

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

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

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

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

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

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

Ответ 2

JBOSS использует Tomcat для своего сервлета/JSP-механизма, чтобы мыть.

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

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

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

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

Ответ 3

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

Ответ 4

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

Ответ 5

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

Ответ 6

Развертывание выполняется так же быстро, как и в Google App Engine + GWT (необязательно) + плагин Eclipse.

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

Ответ 7

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

Ответ 8

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

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

Ответ 9

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

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

Ответ 10

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

Ответ 11

JRuby on Rails. Разработайте на любой платформе, которую хотите, разверните на стандартные серверы Java.

Ответ 12

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

Для JSP вы можете редактировать файлы JSP непосредственно в рабочей папке JBOSS:

> cd $JBOSS_HOME/server/default/tmp
  > find -name myJspFile.jsp
. /tmp/vfs/automountd 798af2a1b44fc64/Jee6Demo.war-bafecc49fc594b00/myJspFile.jsp

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