Building with Ant: Directory Structure New Hampshire

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.

Local Companies

Mvs & Vm Consulting
(603) 529-4509
278 Colby Rd
Weare, NH
Safety Net Solutions Inc
(603) 890-3303
Salem, NH
Roma Development
(603) 228-7662
Concord, NH
Rockport Technology Group Inc
(603) 432-4613
8 Industrial Way
Salem, NH
Kdj Assocs Inc
(603) 882-3643
45 Northwood Dr
Nashua, NH
QED Connect
(603)881-3884
2 Townsend West Unit 1
Nashua, NH
Rtm Communications
(603) 262-9100
9 Executive Park Dr
Merrimack, NH
Key Data Systems
(603) 433-0017
24 Port Way
Rye, NH
Booth D
(603) 859-6120
14 Sunset Ln
New Durham, NH
Avantek Services
(603) 742-1333
44 Dover Point Rd
Dover, NH

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

Featured Local Company

QED Connect

(603)881-3884
2 Townsend West Unit 1
Nashua, NH
http://www.qedconnect.com

QED Connect, Inc. is an information security Software-as-a-Service (SaaS) provider that gives organizations visibility, management and control of activity on all their computers, laptops and wireless devices. The company’s popular SaaS, Omni Manager, is an affordable way to monitor and manage how employees are using company computers and the Internet at any time, from any location in the world. This solves the problems created by today’s ‘virtual’ work environment of branch offices, remote workers and traveling employees. Omni Manager is a web-hosted software application that includes e-mail and Internet filtering and blocking, antivirus, instant messaging management, asset tracking, application usage monitoring and policy management. ROI is delivered by employee productivity gains, cost savings and improved operational efficiencies.


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