AppFuse's main purpose is to help you quickly accelerate the start of your webapp. Here are the basic steps to creating a new project with it.
- Install J2SE 1.4.2+ and set a JAVA_HOME environment variable pointing to your installation directory.
- Download the source version or checkout the 1.9.x branch from Subversion (svn co https://appfuse.dev.java.net/svn/appfuse/branches/BRANCH_1-9-x appfuse).
- Install Ant 1.6.5+ and set an ANT_HOME environment variable. Install Tomcat 4.1.x+ (recommend 5.5.20) and set a CATALINA_HOME environment variable to point to your Tomcat installation. Checkout my development environment setup to get links for these packages and to see where I usually install them.
- Install MySQL 3.23.x+ (recommend 5.0+).
If you're using MySQL 4.1.7, make sure to use a UTF-8 character set and an InnoDB table type. Here's how
- Setup a local SMTP server or change mail.properties (in the web/WEB-INF/classes directory) and build.properties (in the root -- for log4j messages) to point to an existing one - they default to localhost.
- Copy lib/junit3.8.1/junit.jar to $ANT_HOME/lib.
NOTE: You may see an ant-junit.jar file already in $ANT_HOME/lib. This jar is not the JUnit library, rather it is for the Ant junit task which will use the junit.jar that you place here.
- If you're planning on using iBATIS (instead of Hibernate) or a web framework other than Struts, install that now using the instructions below.
- Run ant new from the appfuse directory. You will be prompted for an application name, database name and package name. After entering these, a directory containing your new application will be created in the same directory as appfuse.
WARNING: Some application values will not work - don't use "test", anything with "appfuse" in it or anything that starts with numbers. Also, two dashes (-) in a name will mess things up.
- Navigate to your new project's directory and run ant setup (or ant setup-db setup-tomcat deploy) to create the database, configure Tomcat and deploy your application. The database setup will only work if your root user has no password. You can change this in build.properties if necessary. Need assistance with mysql setup?
- If you want to test and make sure everything works, run ant test-all - make sure Tomcat is stopped when you do this. Next, run ant test-reports - there will be a message after it runs telling you how you can view the generated reports.
After you've confirmed your installation using the above steps - take a look at the Tutorials to see how to develop with AppFuse.
NOTE: If you're developing with AppFuse on Unix, run "ant fixcrlf" before running the installers. You can also download a pre-built version that already has the web framework option you're looking for.
- If you'd like to use iBATIS as a persistence framework option, view the README.txt in extras/ibatis.
- If you'd like to use Spring as the web framework, view the README.txt in extras/spring.
- If you'd like to use WebWork as the web framework, view the README.txt in extras/webwork.
- If you'd like to use JSF as the web framework, view the README.txt in extras/jsf.
- If you'd like to use Tapestry as the web framework, view the README.txt in extras/tapestry.
- If you'd like you can write a script to automate the creation and testing of your project from AppFuse. There are a couple in CVS that I use for testing: spring+ibatis and webwork. Note that using "appfuse" in a real-world project name is a bad idea as it'll find/replace things it shouldn't.
- If you don't want to install iBATIS, Spring MVC, WebWork, JSF or Tapestry - you should delete their installers in the extras folder before checking your project into source control.
NOTE: These installers will modify the Eclipse classpath, but not the IDEA one. You'll need to modify that manually.