RSF Development Environment Guide#
This guide should help RSF and even Java development beginners to quickly get a development environment setup which they can use to work on RSF applications. This will explain the development technologies and how to get your environemnt setup. This guide will probably take an unfamiliar user 20-30 minutes.
The RSF development team currently uses the following technologies
- Subversion
1.4.x (Source code versioning and control)
- Eclipse
3.2 or 3.3 (Java IDE)
- Web Tools Platform (WTP) Project
2.0 (Web development tools)
- Spring IDE
plugin 2.0 (Spring development tools)
- Subclipse
plugin 1.2.x (SVN development tools)
- Web Tools Platform (WTP) Project
Subversion#
Subversion
is used for all RSF source code versioning and control. You should have a the command line version of SVN installed so that you can checkout the various releases of RSF and sample RSF apps. Strictly speaking you can skip this if you plan to never checkout the RSF source code but we highly recommend installing it since it is small and very useful. The easiest way to install Subversion is to use the binary packages on the downloads page
.
Eclipse#
Eclipse
is the IDE of choice for developing in Java. We use version 3.2 or higher with the Web Tools Platform (WTP) Project
. It is easiest to simply grab the Web Tools Platform All-In-One Packages which you can find on the downloads page of the WTP project.
Web Tools Platform (WTP) Project#
Web Tools Platform (WTP) Project
is an marvelous collection of tools that is highly recommended for anyone doing web development. The most convenient package is the Web Tools Platform All-In-One Packages download available at the Eclipse download site
(approx 250MB download).
Spring IDE plugin#
Spring IDE
provides autocomplete and editor assistance when working with Spring Framework
configuration files. Since RSF's request context files are Spring format files, you can get the full benefits of Spring IDE on RSF right away. Installation instructions are on the Spring IDE project site.
Subclipse plugin#
The Subclipse plugin
allows SVN commits, checkouts, and much more from within Eclipse. It is much easier to use than the Subversion command line for general development usage with your own projects (however, the command line is better for checking out things like RSF bundles). Installation instructions are avaialble on the project site.
Maven and Eclipse notes#
Once you have Maven and Eclipse properly installed, you should use it *at least once* on each project to download all of its dependencies, *before* attempting to fix up the Eclipse build environment. To do this, open up a command prompt window, navigate to your workspace where you checked out the RSF code and then go into each rsf subfolder and type "maven". Note that it in general does not make sense to try to share Eclipse build products (typically in the bin directory) with Maven build products (typically in the target directory), yes, you will really need to have parallel builds otherwise chaos and nastiness will ensue. But you *should* keep Maven and Eclipse in step at least to the extent of directing Eclipse at the versions of jar dependencies held in your Maven repository. This should be done by declaring an Eclipse variable MAVEN_REPO (M2_REPO for Maven 2) pointing at your Maven repository, and adding each jar using "Extend Variable" as a dependency to the Eclipse project. There is apparently some tool that will do this automatically but I have never got it to work correctly.RSF Framework logging#
All of the framework samples contain a standard log4j.properties file which configures RSF framework logging to a reasonably verbose level. This is strongly recommended for development since otherwise you will miss informative warnings of various problems that occur at runtime, both during rendering and form submission. For production you are recommended to set the PonderUtilCore logging level to warn or higher. The standard log4j.properties file, which should be placed at /WEB-INF/classes is linked here: log4j.properties
.