1. Trang chủ
  2. » Công Nghệ Thông Tin

OReilly java power tools apr 2008 ISBN 0596527934

1,6K 371 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 1.639
Dung lượng 20,45 MB

Nội dung

Java Power Tools by John Ferguson Smart Publisher: O'Reilly Pub Date: April 22, 2008 Print ISBN-13: 978-0-596-52793-8 Pages: 910 Table of Contents | Index Overview All true craftsmen need the best tools to do their finest work, and programmers are no different Java Power Tools delivers 30 open source tools designed to improve the development practices of Java developers in any size team or organization Each chapter includes a series of short articles about one particular tool whether it's for build systems, version control, or other aspects of the development process giving you the equivalent of 30 short reference books in one package No matter which development method your team chooses, whether it's Agile, RUP, XP, SCRUM, or one of many others available, Java Power Tools provides practical techniques and tools to help you optimize the process The book discusses key Java development problem areas and best practices, and focuses on open source tools that can help increase productivity in each area of the development cycle, including: Build tools including Ant and Maven 2 Version control tools such as CVS and Subversion, the two most prominent open source tools Quality metrics tools that measure different aspects of code quality, including CheckStyle, PMD, FindBugs and Jupiter Technical documentation tools that can help you generate good technical documentation without spending too much effort writing and maintaining it Unit Testing tools including JUnit 4, TestNG, and the open source coverage tool Cobertura Integration, Load and Performance Testing to integrate performance tests into unit tests, load-test your application, and automatically test web services, Swing interfaces and web interfaces Issue management tools including Bugzilla and Trac Continuous Integration tools such as Continuum, Cruise Control, LuntBuild and Hudson If you are a Java developer, these tools can help improve your development practices, and make your life easier in the process Lead developers, software architects and people interested in the wider picture will be able to gather from these pages some useful ideas about improving your project infrastructure and best practices Java Power Tools by John Ferguson Smart Publisher: O'Reilly Pub Date: April 22, 2008 Print ISBN-13: 978-0-596-52793-8 Pages: 910 Table of Contents | Index Copyright Dedication Foreword Preface Introduction Part 1: Build Tools Chapter 1 Setting Up a Project Using Ant Section 1.1 Ant in the Build Process Section 1.2 Installing Ant Section 1.3 A Gentle Introduction to Ant Section 1.4 Compiling Your Java Code in Ant Section 1.5 Customizing Your Build Script Using Properties Section 1.6 Running Unit Tests in Ant Section 1.7 Generating Documentation with Javadoc Section 1.8 Packaging Your Application Section 1.9 Deploying Your Application Section 1.10 Bootstrapping Your Build Scripts Section 1.11 Using Maven Dependencies in Ant with the Maven Tasks Section 1.12 Using Ant in Eclipse Section 1.13 Using Ant in NetBeans Section 1.14 Manipulating XML with XMLTask Section 1.15 Conclusion Chapter 2 Setting Up a Project Using Maven 2 Section 2.1 Maven and the Development Build Process Section 2.2 Maven and Ant Section 2.3 Installing Maven Section 2.4 Declarative Builds and the Maven Project Object Model Section 2.5 Understanding the Maven 2 Lifecycle Section 2.6 The Maven Directory Structure Section 2.7 Configuring Maven to Your Environment Section 2.8 Dependency Management in Maven 2 Section 2.9 Looking for Dependencies with MvnRepository Section 2.10 Project Inheritance and Aggregation Section 2.11 Creating a Project Template with Archetypes Section 2.12 Compiling Code Section 2.13 Testing Your Code Section 2.14 Packaging and Deploying Your Application Section 2.15 Deploying an Application Using Cargo Section 2.16 Using Maven in Eclipse Section 2.17 Using Maven in NetBeans Section 2.18 Using Plug-Ins to Customize the Build Process Section 2.19 Setting Up an Enterprise Repository with Archiva Section 2.20 Setting Up an Enterprise Repository Using Artifactory Section 2.21 Using Ant in Maven Section 2.22 Advanced Archetypes Section 2.23 Using Assemblies Part 2: Version Control Tools Chapter 3 Setting Up Version Control Using CVS Section 3.1 An Introduction to CVS Section 3.2 Setting Up a CVS Repository Section 3.3 Creating a New Project in CVS Section 3.4 Checking Out a Project Section 3.5 Working with Your Files—Updating and Committing Section 3.6 Resolving a Locked Repository Section 3.7 Working with Keyword Substitution Section 3.8 Working with Binary Files Section 3.9 Tags in CVS Section 3.10 Creating Branches in CVS Section 3.11 Merging Changes from a Branch Section 3.12 Viewing Change History Section 3.13 Reverting Changes Section 3.14 Using CVS in Windows Chapter 4 Setting Up Version Control Using Subversion Section 4.1 An Introduction to Subversion Section 4.2 Installing Subversion Section 4.3 Subversion Repository Types Section 4.4 Setting Up a Subversion Repository Section 4.5 Setting Up a New Subversion Project Section 4.6 Checking Out Your Working Copy Section 4.7 Importing Existing Files into Subversion Section 4.8 Understanding Subversion Repository URLs Section 4.9 Working with Your Files Section 4.10 Seeing Where You're At: The Status Command Section 4.11 Resolving Conflicts Section 4.12 Using Tags, Branches, and Merges Section 4.13 Rolling Back to a Previous Revision Section 4.14 Using File Locking with Binary Files Section 4.15 Breaking and Stealing Locks Section 4.16 Making Locked Files Read-Only with the svn:needs-lock Property Section 4.17 Using Properties Section 4.18 Change History in Subversion: Logging and Blaming Section 4.19 Setting Up a Subversion Server with svnserve Section 4.20 Setting Up a Secure svnserve Server Section 4.21 Setting Up a WebDAV/DeltaV Enabled Subversion Server Section 4.22 Setting Up a Secure WebDAV/DeltaV Server Section 4.23 Customizing Subversion with Hook Scripts Section 4.24 Installing Subversion As a Windows Service Section 4.25 Backing Up and Restoring a Subversion Repository Section 4.26 Using Subversion in Eclipse Section 4.27 Using Subversion in NetBeans Section 4.28 Using Subversion in Windows Section 4.29 Defect Tracking and Change Control Section 4.30 Using Subversion in Ant Section 4.31 Conclusion Part 3: Continuous Integration Chapter 5 Setting Up a Continuous Integration Server with Continuum Section 5.1 An Introduction to Continuum Section 5.2 Installing a Continuum Server Section 5.3 Manually Starting and Stopping the Server Section 5.4 Checking the Status of the Server Section 5.5 Running the Continuum Server in Verbose Mode Section 5.6 Adding a Project Group Section 5.7 Adding a Maven Project Section 5.8 Adding an Ant Project Section 5.9 Adding a Shell Project Section 5.10 Managing Your Project Builds Section 5.11 Managing Users Section 5.12 Setting Up Notifiers Section 5.13 Configuring and Scheduling Builds Section 5.14 Debugging Your Builds Section 5.15 Configuring the Continuum Mail Server Section 5.16 Configuring the Continuum Web Site Ports Section 5.17 Automatically Generating a Maven Site with Continuum Section 5.18 Configuring a Manual Build Task Section 5.19 Conclusion Chapter 6 Setting Up a Continuous Integration Server with CruiseControl Section 6.1 An Introduction to CruiseControl Section 6.2 Installing CruiseControl Section 6.3 Configuring an Ant Project Section 6.4 Keeping People Notified with Publishers Section 6.5 Setting Up a Maven 2 Project in CruiseControl Section 6.6 The CruiseControl Dashboard Section 6.7 Third-Party Tools Section 6.8 Conclusion Chapter 7 LuntBuild—A Web-Based Continuous Integration Server Section 7.1 An Introduction to LuntBuild Section 7.2 Installing LuntBuild Section 7.3 Configuring the LuntBuild Server Section 7.4 Adding a Project Section 7.5 Using Project Variables for Version Numbering Section 7.6 Build Results Diagnostics Section 7.7 Using LuntBuild with Eclipse Section 7.8 Reporting on Test Coverage in Luntbuild Using Cobertura Section 7.9 Integrating Luntbuild with Maven Section 7.10 Conclusion Chapter 8 Continuous Integration with Hudson Section 8.1 An Introduction to Hudson Section 8.2 Installing Hudson Section 8.3 Managing the Hudson Home Directory Section 8.4 Installing Upgrades Section 8.5 Configuring Hudson Section 8.6 Adding a New Build Job Section 8.7 Organizing Your Jobs Section 8.8 Monitoring Your Builds Section 8.9 Viewing and Promoting a Particular Build Section 8.10 Managing Users Section 8.11 Authentication and Security Section 8.12 Viewing Changes Section 8.13 Hudson Plug-Ins Section 8.14 Keeping Track of Test Results Section 8.15 Keeping Track of Code Metrics Section 8.16 Reporting on Code Coverage Chapter 9 Setting Up an Instant Messaging Platform with Openfire Section 9.1 Instant Messaging in a Development Project Section 9.2 Installing Openfire Section 9.3 Setting Up Users and Accounts on Openfire Section 9.4 Authenticating Users in an External Database Section 9.5 Authenticating Users Against a POP3 Server Section 9.6 Virtual Team Meetings with the Group Chat Section 9.7 Extended Functionality with Openfire PlugIns Section 9.8 Using Openfire with Continuum Section 9.9 Using Openfire with CruiseControl Section 9.10 Using Openfire with Luntbuild Section 9.11 Sending Jabber Messages from a Java Application Using the Smack API Section 9.12 Detecting Presence Using the Smack API Section 9.13 Receiving Messages Using the Smack API Part 4: Unit Testing Chapter 10 Testing Your Code with JUnit Section 10.1 JUnit 3.8 and JUnit 4 Section 10.2 Unit Testing with JUnit 4 Section 10.3 Setting Up and Optimizing Your Unit Test Cases Section 10.4 Simple Performance Testing Using Timeouts Section 10.5 Checking for Exceptions the Easy Way Section 10.6 Using Parameterized Tests Section 10.7 Using assertThat and the Hamcrest Library Section 10.8 JUnit 4 Theories Section 10.9 Using JUnit 4 with Maven 2 Section 10.10 Using JUnit 4 with Ant Section 10.11 Selectively Running JUnit 4 Tests in Ant Section 10.12 Integration Tests Section 10.13 Using JUnit 4 in Eclipse Chapter 11 Next-Generation Testing with TestNG Section 11.1 Introducing TestNG Section 11.2 Creating Simple Unit Tests with TestNG Section 11.3 Defining TestNG Test Suites Section 11.4 The TestNG Eclipse Plug-In Section 11.5 Using TestNG in Ant Section 11.6 Using TestNG with Maven 2 Section 11.7 Managing the Test Lifecycle Section 11.8 Using Test Groups Section 11.9 Managing Dependencies Section 11.10 Parallel Testing Section 11.11 Test Parameters and Data-Driven Testing Section 11.12 Checking for Exceptions Section 11.13 Handling Partial Failures Section 11.14 Rerunning Failed Tests Chapter 12 Maximizing Test Coverage with Cobertura Section 12.1 Test Coverage Section 12.2 Running Cobertura from Ant Section 12.3 Checking the Code Coverage of TestNG Tests Section 12.4 Interpreting the Cobertura Report Section 12.5 Enforcing High Code Coverage Section 12.6 Generating Cobertura Reports in Maven Section 12.7 Integrating Coverage Tests into the Maven Build Process Section 12.8 Code Coverage in Eclipse Section 12.9 Conclusion Part 5: Integration, Functional, Load, and Performance Testing Chapter 13 Testing a Struts Application with StrutsTestCase Section 13.1 Introduction Section 13.2 Testing a Struts Application Section 13.3 Introducing StrutsTestCase Section 13.4 Mock Tests Using StrutsTestCase Section 13.5 Testing Struts Error Handling Section 13.6 Customizing the Test Environment Section 13.7 First-Level Performance Testing Section 13.8 Conclusion Chapter 14 Integration Testing Databases with DbUnit Section 14.1 Introduction Section 14.2 Overview Continuum and dependencies section 2nd described developers section 2nd distributionManagement section issueManagement section mailingLists section parent POMs profiles section project description properties properties section reading from Ant 2nd reporting section 2nd 3rd 4th scm section 2nd Super POM Popescu, Alexandru Price, Yvonne Wang process IDs, listing profiles 2nd profiling tools [See jConsole] [See TPTP] project inheritance Project Object Model [See POM files] project web site [See Maven project web site] properties Ant 2nd CruiseControl Maven proxy connections Ant 2nd Artifactory Maven pserver 2nd Pulse Python 2nd Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] QAlab in Ant described in Maven Qalab described QuickBuild quiet time 2nd Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] Redmond, Eric bio on Archiva on Maven 2nd 3rd 4th on snippets on the Maven project web site 2nd 3rd 4th 5th 6th regression testing 2nd replace task Ruiz, Alex 2nd 3rd Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] samplers SchemaSpy in Ant described installing in Maven project website running from command line scp task SDLC (Software Development Life Cycle) Selenium AJAX and Ant and assertions 2nd browsers supported described 2nd identifying GUI objects installing Maven and ports programming language APIs recording test scripts test scripts test suites variables writing tests Selenium Core Selenium Remote Control setproxy task settings.xml file 2nd skins Smack API snippets SoapUI Ant and 2nd assertions 2nd 3rd command-line options continuous testing Continuum and described in Eclipse installing in IntelliJ Javadoc reports load testing Maven and 2nd in NetBeans projects requests test cases test statistics test suites 2nd software CM vs version control 2nd Software Development Life Cycle (SDLC) Spinellis, Diomidis D Spring 2nd 3rd SSH tunneling StatSCM 2nd StatSVN stress testing [See load testing] Struts StrutsTestCase configuring described error-handling tests mock tests performance testing Subversion adding files in Ant atomic updates backing up files binary files 2nd 3rd branches 2nd change sets checking out files commenting revisions committing changes copying files creating a repository 2nd creating directories customizing CVS vs deleting files directory structure Eclipse and 2nd executable files ignoring files importing files in Windows [See TortoiseSVN] installing internet access issue management options keyword substitution line feeds listing changes 2nd listing contents locking files 2nd moving files in NetBeans network access network load network protocols projects properties renaming files repository URLs resolving conflicts restoring files reverting changes 2nd revision trees server setup setting file types storage options structural changes tagging 2nd Trac and 2nd tracking revisions unlocking files updating local copies viewing change history vs CVS as Windows Service successPercentage parameter Super POM Surefire plug-in 2nd 3rd 4th 5th svn add svn annotate svn blame svn checkout svn commit svn copy svn delete svn diff svn import 2nd svn info svn list svn lock svn log 2nd svn merge svn mkdir svn move svn praise svn propset svn resolved svn revert svn status svn switch svn task svn unlock svn update svn+ssh protocol svn:eol-style svn:executable svn:ignore svn:mime-type svn:needs-lock svnadmin create svnadmin dump svnadmin load svnadmin lslocks svnadmin rmlocks SVNParentPath svnserve server SVNService Swing synchronization issues Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] Tanenbaum, Andrew S targets taskdef task tasks TeamCity 2nd template-driven testing test coverage [See code coverage] Test Maker test task test-driven development 2nd TestCase class testing, multithreaded testing, parallel TestNG @AfterClass @AfterMethod @AfterSuite @BeforeClass @BeforeMethod @BeforeSuite @Test annotations Ant and 2nd assertions Cobertura and code coverage of creating tests data-driven testing dependencies 2nd 3rd described Eclipse and exceptions failure handling FEST and 2nd fixture code 2nd functional testing and IntelliJ and Maven and 2nd parallel testing successPercentage test groups test lifecycle test suites 2nd tests, atomic tests, on multiple machines tests, parameterized 2nd tests, recording 2nd tests, timed theories (JUnit) Thunderbird plug-in timed tests 2nd 3rd 4th TortoiseCVS TortoiseSVN browsing a repository checking out files committing changes importing a project revision graph updating local copies Windows Explorer interface TPTP coverage statistics described filtering results installing Java version compatibility JUnitPerf in memory analysis performance testing profiles timed tests web application testing Trac on Apache server browsing repository closing tickets creating reports creating tickets customizing 2nd 3rd described installing monitoring progress Mylyn and notification options 2nd setting up a project Subversion and 2nd 3rd ticket lifecycle trac-admin tracd webserver TracLink syntax updating tickets user management as Windows service trac-admin tracd webserver TracLink transaction rollback teardown transitive dependencies 2nd 3rd tstamp task Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] UML diagrams 2nd UmlGraph unit tests in Ant 2nd 3rd Ant and in CruiseControl described 2nd in Eclipse 2nd in Hudson JUnitPerf and in LuntBuild in Maven 2nd 3rd on Maven project web site unzip task URLs, repository User Import Export plug-in user interface testing 2nd 3rd 4th [See also Selenium] [See also FEST] user interfaces User Service plug-in Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] version control benefits in Continuum in CruiseControl described in Hudson in LuntBuild in Maven project web site vs software CM 2nd version element Violations plug-in Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] Walnes, Joe WAR files war task web application testing 2nd 3rd 4th [See also StrutsTestCase] [See also Seleni] Web Service Definition Language (WSDL) web services testing [See SoapUI] web site, Java Power Tools web site, Maven [See Maven project web site] WebDAV/DeltaV accessing a repository Basic authentication Digest authentication encryption (HTTPS) setup whining 2nd wikis WSDL (Web Service Definition Language) Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] XDoc xmlcatalog task XMLTask controlling Ant builds editing XML 2nd XMPP (Jabber) protocol 2nd XPath 2nd ... Chances are, there are things that can be improved This book is part of the O'Reilly Power Tools series, which began with the illustrious Unix Power Tools back in 1993 It has no relation to the "Java Power Tools" library (http://www.ccs.neu.edu/jpt/), which is a software research... pages some useful ideas about improving your project infrastructure and best practices Java Power Tools by John Ferguson Smart Publisher: O'Reilly Pub Date: April 22, 2008 Print ISBN- 13: 978-0-596-52793-8 Pages: 910 Table of Contents | Index... Profiling and Monitoring Java Applications Using the Sun JDK Tools Section 18.1 The Sun JDK Profiling and Monitoring Tools Section 18.2 Connecting To and Monitoring a Java Application with jConsole

Ngày đăng: 26/03/2019, 16:02