Building with Ant: Directory Structure

In Part 2 of our series, Chaffee discusses the importance of a clean and orderly project directory structure - and provides tips on creating a solid foundation for structures that can scale to large teams using version control and multiple releases.

provided by: 
Originally published at Internet.com


Recap



In the first part of this series, we established an Ant build file with the following targets: init, clean, compile, test, javadoc, webapp, and war. Now, we will examine the directory structure in which these tasks do their work.

The Directory Structure



The foundation of any build process is the project directory structure. A messy project directory, cluttered with files dropped willy nilly into whatever directory the "file save" dialog happened to open up with, leads to arcane and bug-prone build scripts. On the other hand, if you try to organize too compulsively, you can end up with a byzantine nest of sub-sub-subdirectories that make it tedious to find the files you're looking for.

Here, I sketch what I think is a good foundation or skeleton for a project directory structure that can scale to large teams using version control and multiple releases. Directory Structure: myproject/ project root directory (run all tools from here) build.xml Ant build file deploy-dev.sh script to deploy your app to your development server deploy-live.sh script to deploy your app to your production (live) server lib/ jar files required for build src/ Java source code for servlets and utilities web/ Web files (html, jsp, etc.) conf/ configuration files web-dev.xml Webapp config file for development server web-live.xml Webapp config file for production (live) server build/ files compiled/copied into here (this directory can be safely deleted) webapp/ the build destination for the web application WEB-INF/ conf/web.xml etc. will be copied into here during build classes/ class file root for servlets and utilities lib/ jar files required for running app (usually a subset of the ones in myproject/lib) test/ directory used by unit test classes to create test files; can be safely deleted after build ...

Read article at Internet.com site
Regional Articles
- Building with Ant: Directory Structure Alabama
- Building with Ant: Directory Structure Alaska
- Building with Ant: Directory Structure Arizona
- Building with Ant: Directory Structure Arkansas
- Building with Ant: Directory Structure California
- Building with Ant: Directory Structure Colorado
- Building with Ant: Directory Structure Connecticut
- Building with Ant: Directory Structure DC
- Building with Ant: Directory Structure Delaware
- Building with Ant: Directory Structure Florida
- Building with Ant: Directory Structure Georgia
- Building with Ant: Directory Structure Hawaii
- Building with Ant: Directory Structure Idaho
- Building with Ant: Directory Structure Illinois
- Building with Ant: Directory Structure Indiana
- Building with Ant: Directory Structure Iowa
- Building with Ant: Directory Structure Kansas
- Building with Ant: Directory Structure Kentucky
- Building with Ant: Directory Structure Louisiana
- Building with Ant: Directory Structure Maine
- Building with Ant: Directory Structure Maryland
- Building with Ant: Directory Structure Massachusetts
- Building with Ant: Directory Structure Michigan
- Building with Ant: Directory Structure Minnesota
- Building with Ant: Directory Structure Mississippi
- Building with Ant: Directory Structure Missouri
- Building with Ant: Directory Structure Montana
- Building with Ant: Directory Structure Nebraska
- Building with Ant: Directory Structure Nevada
- Building with Ant: Directory Structure New Hampshire
- Building with Ant: Directory Structure New Jersey
- Building with Ant: Directory Structure New Mexico
- Building with Ant: Directory Structure New York
- Building with Ant: Directory Structure North Carolina
- Building with Ant: Directory Structure North Dakota
- Building with Ant: Directory Structure Ohio
- Building with Ant: Directory Structure Oklahoma
- Building with Ant: Directory Structure Oregon
- Building with Ant: Directory Structure Pennsylvania
- Building with Ant: Directory Structure Rhode Island
- Building with Ant: Directory Structure South Carolina
- Building with Ant: Directory Structure South Dakota
- Building with Ant: Directory Structure Tennessee
- Building with Ant: Directory Structure Texas
- Building with Ant: Directory Structure Utah
- Building with Ant: Directory Structure Vermont
- Building with Ant: Directory Structure Virginia
- Building with Ant: Directory Structure Washington
- Building with Ant: Directory Structure West Virginia
- Building with Ant: Directory Structure Wisconsin
- Building with Ant: Directory Structure Wyoming

Rss   Delicious   Digg   Add To My Yahoo   Add To My Google   Bookmark   Search Plugin

Topics:
Architecture & Design Languages & Tools Project Management Web Services
Database Microsoft & .NET Security Wireless
Java Open Source Techniques XML