Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Chapter 1: Setting Up Your Environment

As much as I would like to dive into Tapestry right now, we must first talk about your development environment. The joy and the pain of Java development is the volume of choice available. There's just a bewildering number of JDKs, IDEs and other TLAs (Three Letter Acryonyms) out there.

Let's talk about a stack of tools, all open source and freely available, that you'll need to setup. Likely you have some of these, or some version of these, already on your development machine.

JDK 1.5

Tapestry 5 makes use of features of JDK 1.5. This includes Java Annotations, and a little bit of Java Generics.

Eclipse Helios (3.6.1)

Since we're emphasizing a free and open source stack, we'll concentrate on the best free IDE.

...

Eclipse comes in various flavors, and includes a reasonable XML editor built-in. It can be downloaded from the eclipse.org web site. I use the Eclipse IDE for Java Developers.

Jetty

Jetty is an open source servlet container created by Greg Wilkins of Webtide (which offers commercial support for Jetty). Jetty is high performance and designed for easy embedding in other software.

RunJettyRun Eclipse Plugin

RunJettyRun is a very simple Eclipse plugin that bundles a version of Jetty (Jetty 6 at this writing) so that you can create Eclipse launches that start Jetty to execute your web application.

You can install RunJettyRun using Eclipse's Install New Software... menu item; the update URL is http://run-jetty-run.googlecode.com/svn/trunk/updatesite.

Maven 2.2.1

Maven is a software build tool of rather epic ambitions. It has a very sophisticated plugin system that allows it to do virtually anything, though compiling Java code, building WAR and JAR files, and creating reports and web sites are its forte.

...

Maven is not essential for using Tapestry, but is especially helpful doing when performing the initial setup of a Tapestry application.

...

There are plugins available for Eclipse, but we will not be using those; instead, we'll use Maven to generate Eclipse control files for us.

Tapestry 5.2.4

You should not have to download this directly; as we'll see, Maven should take care of downloading Tapestry, and its dependencies, as needed.

...