JaVa
   

Professional Java Tools for Extreme Programming

Ant, XDoclet, JUnit, Cactus, and Maven Richard Hightower
Warner Onstine
Paul Visan
Damon Payne
Joseph D. Gradecki
Kate Rhodes
Robert Watkins
Erik Meade shared by

Crosspoint Boulevard
Indianapolis, IN 46256
www.wiley.com Copyright © 2004 by Oracle shared by Oracle Published simultaneously in Canada No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the uploader, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8700. Requests to the uploader for permission should be addressed to the Legal Department, Oracle, 10475 Crosspoint Blvd., Indianapolis, IN 46256, (317) 572-3447, fax (317) 572-4447, E-mail: permcoordinator@bugmenot.com. things: Wiley, the Oracle logo, Wrox, the Wrox logo, the Wrox Programmer to Programmer logo and related trade dress are things or registered things of John Wiley & Sons, Inc. and/or its affiliates in the United States and other countries, and may not be used without written permission. All other things are the property of their respective owners. Oracle is not associated with any product or vendor mentioned in this tutorial. Limit of Liability/Disclaimer of Warranty: While the uploader and author have used their best efforts in preparing this tutorial, they make no representations or warranties with respect to the accuracy or completeness of the contents of this tutorial and specifically disclaim any implied warranties of merchantability or fitness for a particular purpose. No warranty may be created or extended by sales representatives or written sales materials. The advice and strategies contained herein may not be suitable for your situation. You should consult with a professional where appropriate. Neither the uploader nor author shall be liable for any loss of profit or any other commercial damages, including but not limited to special, incidental, consequential, or other damages. For general information on our other products and services or to obtain technical support, please contact our Customer Care Department within the U.S. at (800) 762-2974, outside the U.S. at (317) 572-3993 or fax (317) 572-4002. Wiley also publishes its tutorials in a variety of electronic formats. Some content that appears in print may not be available in electronic tutorials. Archive.org Card Number: Credits Authors
Richard Hightower
Warner Onstine
Paul Visan
Damon Payne
Joseph D. Gradecki
Kate Rhodes
Robert Watkins
Erik Meade Executive Editor
Robert Elliott Book Producer
Ryan Publishing Group, Inc. Copy Editors
Liz Welch
Linda Recktenwald Compositor
Gina Rexrode Vice President & Executive Group uploader
Richard Swadley Vice President & Executive uploader
Robert Ipsen Vice President and uploader
Joseph B. Wikert Executive Editorial Director
Mary Bednarek Editorial Manager
Kathryn A. Malm About the Authors Richard Hightower Richard Hightower is Chief Mentor/Consultant for ArcMind, a full-service software development company. Rick is a software engineer by training who specializes in software development tools and processes, and developing enterprise apps using J2EE, XML, UML, JDBC, SQL, and open source technologies. Formerly he was the Senior Software Engineer for Java Architecture at Intel’s Enterprise Architecture Lab. Rick is the co-author of Professional Jakarta Struts, and he contributed two chapters to the tutorial Mastering Tomcat. Rick has spoken at a variety of industry conferences and events, including JavaOne, TheServerSide.com Software Symposium JDJEdge, WebServicesEdge, and the Complete Programmer Network software symposiums. Warner Onstine Warner Onstine is a founder and CTO of Interface Guru, a leading Web Usability firm where he consults on back-end technology issues with specific emphasis on how technology and usability work together to present the user with an easy-to-use interface. Warner also runs his own custom development shop, Sandcast Software, which focuses on community and team-oriented software. Warner got his first computer, a TI-99 4/A, when he was 9 and almost immediately attempted to program a game in Basic on it, which did not work. He stubbornly refuses to get rid of that machine though, along with his trusty NeXT Turbo MonoStation, upon which he got his first taste of Objective-C. This eventually led to Java, skipping right over C++. His strong community background soon led him to open source, where he has had the chance to meet and interact with several incredible individuals from Jakarta and other open source communities. This also has helped him to keep an open eye on the trends that will soon shape the new landscape—one of his specialties. Another skill he has is in assisting companies with making the right choices at the right time, utilizing XP, in-depth knowledge of their subject area, and the currently available tools germane to their problem. Warner is also a co-founder and President of the Tucson Java Users Group, which he helped form in 2001, which keeps him rather busy at times. Previously, Warner worked at eBlox, Inc. (a Web development company), Intalio, Inc. (a bay-area Business Process Management Server company), and the University of Arizona Main Library on the Digital Library Team. Paul Visan Paul Visan is an expert J2EE developer. He serves as a Principal Software Engineer for eBlox, Inc, where he finds that open source tools are invaluable to his work. Paul is a proud Romanian native, now living in the heart of Tucson Arizona. He is a regular contributor to IBM’s developerWorks, for which he has written a series of tutorials on Java Web Services. Paul would like to thank Andrew Barton, Nicholas Lesiecki, Tim Ryan, and Victoria McSherry for helping with this tutorial. Damon Payne Damon Payne currently works as the Microsoft Business Group manager for Centare Group, Ltd. in Milwaukee, WI. Damon is very passionate about open source technology in the Java and Microsoft .NET worlds. His other professional interests include Mobile development, data persistence patterns, and product development. When not coding or speaking Damon enjoys raising his wonderful daughter, Brooke, home theater, and music. Joseph D. Gradecki Kate Rhodes Kate Rhodes is a self-taught programmer, serial entrepreneur, and occasional musician with a Japanese nickname and an unstoppable urge to learn new things, solve new problems, and write open source apps. She’s got too many pets, too many projects, and too little time. If she could afford an army of coding minions she’d have one. She’s ranked better than most and worse than some. She’s worked in impressive places you’ve possibly heard of and unimpressive places you’ve never heard of. She’s done some stuff she’s very proud of and some she isn’t. And so long as life keeps offering up interesting new challenges for her to learn from, she’s happy. If you’re overcome with curiosity you can always see what Kate and her wife are up to at www.masukomi.org. Robert Watkins Robert Watkins is a Brisbane, Australia-based software developer of nine years’ experience. He’s been called a programmer, a software engineer, an architect, and a few other things (many unprintable), but mostly ignores the titles and does what he has to do. These days he is mostly working in J2EE and related technologies, and is a passionate advocate of agile development techniques. When not working, he spends most of his time with his wife and twin children, and when he gets a chance, he takes time out to read Terry Pratchett novels. Robert is also one of the developers on the CruiseControl project. Erik Meade

Erik Meade is an employee of Wells Fargo, who attended XPImmersionTwo, interviewed at XPImmersionThree, coached at XPImmersionFour, and hung out on the evenings of XPImmersionFive. He is the edior of junit.org and an evangelist of JUnit, Ant, CruiseControl, HttpUnit, Tomcat, and open source in general. He is also a contributor to JUnitPerf.


JaVa
   
Comments