Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Java web development environment to minimize build-deploy-test cycle time?

What Java web development environment is the best for absolutely minimizing the build-deploy-test cycle time?

Web development environment: JBOSS, Tomcat, Jetty? Deploy WAR exploded? Copy WAR or use symbolic links? There are factors here I don't know about.

Build-deploy-test cycle? The amount of time it takes to test a change in the browser after making a change to the source code or other resources (including Java source, HTML, JSP, JS, images, etc.).

I am looking to speed up my development by reducing the amount of time I spend watching Ant builds and J2EE containers start. I want the Ruby on Rails experience --- or as close as I can get.

I'd prefer a solution that is web framework agnostic, however if a particular framework is particularly advantageous, then I'd like to hear about it.

Assume all the standard tools are in use: Hibernate, Spring, JMS, etc. If stubbing/mocking support infrastructure is required to make this work, I'm OK with that. In fact, I'm OK with having a development environment that is very different from our production environment if it saves me enough time.

like image 438
Landon Kuhn Avatar asked Jul 09 '09 23:07

Landon Kuhn


3 Answers

You should probably take a look at Javarebel:

http://www.zeroturnaround.com/javarebel/

and this thread here:

How to improve productivity when developing Java EE based web applications

like image 155
Jon Avatar answered Oct 11 '22 13:10

Jon


JBOSS uses Tomcat for its servlet/JSP engine, so that's a wash.

Tomcat does support hot deploy.

Jetty's pretty small and starts quickly, but it doesn't support hot deploy.

Eclipse is merely an IDE. It needs a servlet/JSP engine of some kind. If it's like IntelliJ, you can use any Java EE app server or servlet/JSP engine you'd like.

IntelliJ is pretty darned fast, and you don't have to stop and start the server every time you rebuild. It works off the exploded WAR, so things happen fast.

like image 21
duffymo Avatar answered Oct 11 '22 15:10

duffymo


Building (used to be compiling) is a a sign of our times. We need quick validation of our thoughts and our actions. Whenever I find myself building to many times it is usually a sign that I'm not focused. That I don't have a plan. For me this is the time to stop and think. Do a list of things that need to be done (this is web framework agnostic) do them all and test them all after one build.

like image 33
Ricardo Marimon Avatar answered Oct 11 '22 13:10

Ricardo Marimon