You are previewing Eclipse Distilled.
O'Reilly logo
Eclipse Distilled

Book Description

Eclipse Distilled

David Carlson

Foreword by Grady Booch

Series Editors

Erich Gamma Lee Nackman John Wiegand

A Concise Introduction to Eclipse for the Productive Programmer

Organized for rapid access, focused on productivity, Eclipse Distilled brings together all the answers you need to make the most of today's most powerful Java development environment. David Carlson introduces proven best practices for working with Eclipse, and shows exactly how to integrate Eclipse into any Agile development process.

Part I shows how to customize workspaces, projects, perspectives, and views for optimal efficiency—and how to leverage Eclipse's rapid development, navigation, and debugging features to maximize both productivity and code quality. Part II focuses entirely on Agile development, demonstrating how Eclipse can simplify team ownership, refactoring, continuous testing, continuousintegration, and other Agile practices. Coverage includes

  • Managing Eclipse projects from start to finish: handling both content and complexity

  • Using perspectives, views, and editors to work more efficiently

  • Setting preferences to fit your own unique needs—or your team's

  • Leveraging Eclipse's powerful local and remote debugging tools

  • Understanding how Eclipse fits into contemporary iterative development processes

  • Performing continuous testing with JUnit in the Eclipse environment

  • Using Eclipse's wizard-assisted refactoring tools

  • Implementing continuous integration with Ant-based automated project builders

  • Employing best practices for code sharing with CVS and other repositories

  • By focusing on need-to-know information and providing best practices and methodologies, this book is designed to get you working with Eclipse quickly. Whether you're building enterprise systems, Eclipse plug-ins, or anything else, this concise book will help you write better code—and do it faster.

    About the Author

    David Carlson is a developer, researcher, author, instructor, and consultant who thrives on innovative technology. He started using Java in 1995 and Eclipse in 2001. David has a Ph.D. in Information Systems from the University of Arizona and is a frequent speaker at conferences and a contributor to technical journals. He is creator of the hyperModel plug-in for Eclipse, and author of Modeling XML Applications with UML (Addison-Wesley, 2001).

    Cover photo: © archivberlin Fotoagentur GmbH / Alamy

    Addison-Wesley

    www.awprofessional.com/series/eclipse

    ISBN 0-321-28815-7

    $34.99 US $48.99 CANADA

    © Copyright Pearson Education. All rights reserved.

    Table of Contents

    1. Copyright
    2. The Eclipse Series
      1. Titles in the Eclipse Series
    3. About the Author
    4. Foreword
    5. Preface
      1. Roadmap for this Book
        1. Part 1: Getting Started
        2. Part 2: Getting Agile
      2. The Road Ahead
      3. Conventions Used in this Book
    6. Acknowedgments
    7. 1. Getting Started
      1. 1. A Java IDE and So Much More!
        1. 1.1. Eclipse Platform Architecture
          1. 1.1.1. Eclipse Runtime Platform
          2. 1.1.2. Integrated Development Environment
            1. 1.1.2.1. Java Development Tools
            2. 1.1.2.2. C/C++ Development Tools
            3. 1.1.2.3. Plug-in Development Environment
            4. 1.1.2.4. Web Tools Platform
          3. 1.1.3. Rich Client Platform
        2. 1.2. Other Eclipse Projects
        3. 1.3. Agile Development with Eclipse
        4. 1.4. Sample Application
        5. 1.5. Distilled
        6. 1.6. References
      2. 2. Hello Eclipse
        1. 2.1. Installation and Startup
        2. 2.2. Eclipse IDE Workbench
        3. 2.3. Create a New Java Project
          1. 2.3.1. Open the Java Perspective
          2. 2.3.2. Create a Java Project
          3. 2.3.3. Create a Java Package
          4. 2.3.4. Create a Java Class
          5. 2.3.5. Customize Code Templates
          6. 2.3.6. Writing Methods
        4. 2.4. Run Your Application
        5. 2.5. Distilled
      3. 3. Managing Your Projects
        1. 3.1. Your Project Workspace
          1. 3.1.1. Using Multiple Workspaces
        2. 3.2. Eclipse Resources
          1. 3.2.1. Projects
          2. 3.2.2. Linked Resource Locations
        3. 3.3. Planning Projects and Dependencies
        4. 3.4. Distilled
      4. 4. Customizing Your Workbench
        1. 4.1. Perspectives
          1. 4.1.1. Selecting Capabilities
        2. 4.2. Workbench Views
          1. 4.2.1. Marker Views
          2. 4.2.2. View Layout
        3. 4.3. Resource Editors
        4. 4.4. Preferences: Have It Your Way
          1. 4.4.1. Scope of Preference Settings
          2. 4.4.2. Sharing Your Preferences
          3. 4.4.3. Keyboard Shortcuts
        5. 4.5. Individual and Team Preferences
          1. 4.5.1. Individual Preferences
          2. 4.5.2. Team Preferences
        6. 4.6. Distilled
      5. 5. Rapid Development
        1. 5.1. Expanding the Product Catalog Design
        2. 5.2. Dynamic Duo: Editor and Outline
        3. 5.3. Using Content Assist
          1. 5.3.1. Insert Types and Variable Names
          2. 5.3.2. Method Name Completion
          3. 5.3.3. Source Code Templates
          4. 5.3.4. Javadoc Content Assist
        4. 5.4. Using Quick Fix
        5. 5.5. Generate Getters and Setters
        6. 5.6. Exploring Hierarchies
        7. 5.7. Distilled
      6. 6. Java Project Configuration
        1. 6.1. Java Build Path
          1. 6.1.1. Source and Output Folders
          2. 6.1.2. Project Dependencies
          3. 6.1.3. Project Libraries
          4. 6.1.4. Order and Export
        2. 6.2. Create Shared User Libraries
          1. 6.2.1. Linked Library Project
        3. 6.3. Java Compiler Settings
        4. 6.4. Create Code Templates for Logging
        5. 6.5. Distilled
        6. 6.6. References
      7. 7. Debugging Your Code
        1. 7.1. Start a Debug Session
          1. 7.1.1. Stepping Through Execution
        2. 7.2. Inspecting and Displaying State
        3. 7.3. Managing Debug Sessions
        4. 7.4. Remote Java Applications
          1. 7.4.1. Debug Remote Tomcat Servlet
        5. 7.5. Distilled
    8. 2. Getting Agile
      1. 8. Characteristics of Agile Development
        1. 8.1. The Agile Manifesto
        2. 8.2. Iterative Development
        3. 8.3. Agile Development and Eclipse
          1. 8.3.1. The Self-Adaptive Process
          2. 8.3.2. Continuous Testing
          3. 8.3.3. Refactoring
          4. 8.3.4. Continuous Integration
          5. 8.3.5. Collective Ownership
          6. 8.3.6. Coding Standards
        4. 8.4. Distilled
        5. 8.5. References
      2. 9. Updating the Eclipse IDE
        1. 9.1. Finding and Installing Features
        2. 9.2. Installing Plug-ins Without Features
        3. 9.3. Setting Update Preferences
        4. 9.4. Distilled
        5. 9.5. Contributions
      3. 10. Continuous Testing with JUnit
        1. 10.1. Choosing a Test Strategy
          1. 10.1.1. JUnit Tactics: Test Hierarchy
        2. 10.2. Project Configuration
        3. 10.3. Writing Test Cases
        4. 10.4. Running Your Tests
          1. 10.4.1. JUnit View
          2. 10.4.2. Customize a Test Configuration
          3. 10.4.3. Create a Test Suite
        5. 10.5. Distilled
        6. 10.6. Contributions
        7. 10.7. References
      4. 11. Refactoring Your Code
        1. 11.1. When to Refactor
        2. 11.2. Refactoring in Action
          1. 11.2.1. Prepare for Refactoring
          2. 11.2.2. Rename Packages and Classes
          3. 11.2.3. Extract Interfaces
          4. 11.2.4. Introduce Factory
          5. 11.2.5. Search for Class References
          6. 11.2.6. Verify and Commit Results
        3. 11.3. Catalog of Refactoring Commands
          1. 11.3.1. Composing Methods
          2. 11.3.2. Moving Features Between Objects
          3. 11.3.3. Organizing Data
          4. 11.3.4. Making Method Calls Simpler
          5. 11.3.5. Dealing with Generalization
          6. 11.3.6. Organizing Classes and Packages
        4. 11.4. Distilled
        5. 11.5. References
      5. 12. Continuous Integration with Ant
        1. 12.1. Automatic Incremental Build
        2. 12.2. Customized Build with Ant
          1. 12.2.1. Introduction to Ant
          2. 12.2.2. Build Properties
          3. 12.2.3. Build Tasks
          4. 12.2.4. Building the UBL Project
        3. 12.3. Ant Editor and Outline
        4. 12.4. Running Ant in Eclipse
          1. 12.4.1. Ant Runtime Configuration
          2. 12.4.2. Ant View and Console Output
          3. 12.4.3. Automatic Project Builder
        5. 12.5. Building and Testing Complete Projects
        6. 12.6. Distilled
        7. 12.7. Contributions
        8. 12.8. References
      6. 13. Team Ownership with CVS
        1. 13.1. Team Programming with CVS
          1. 13.1.1. CVS Server
            1. 13.1.1.1. CVSNT Server Installation
          2. 13.1.2. CVS Workflow
        2. 13.2. Sharing Your Projects
          1. 13.2.1. Add a Repository Location
          2. 13.2.2. Share Projects
          3. 13.2.3. Team Project Sets
          4. 13.2.4. CVS Metadata Files
        3. 13.3. Check Out Projects from CVS
        4. 13.4. Synchronizing with the Repository
          1. 13.4.1. Keyword Substitution
        5. 13.5. Managing Versions
          1. 13.5.1. Tagging Files
          2. 13.5.2. Checking Out a Version
          3. 13.5.3. Branching and Merging
        6. 13.6. Creating and Applying Patches
        7. 13.7. Distilled
        8. 13.8. Contributions
        9. 13.9. References
      7. 14. Coding Standards
        1. 14.1. Coding Java with Style
          1. 14.1.1. Code Formatter
          2. 14.1.2. Code Style and Templates
          3. 14.1.3. Spell Checker
          4. 14.1.4. Compiler Warnings and Errors
        2. 14.2. Auditing Compliance
          1. 14.2.1. Configuring the Checkstyle Plug-in
          2. 14.2.2. Running Checkstyle Rules
          3. 14.2.3. Automating Checkstyle with Ant
        3. 14.3. Distilled
        4. 14.4. Contributions
          1. 14.4.1. Checkstyle
          2. 14.4.2. PMD Analysis Tool
          3. 14.4.3. Instantiations CodePro Advisor
        5. 14.5. References