Eclipse Java development tools (JDT) Overview

The JDT project contributes a set of plug-ins that add the capabilities of a full-featured Java IDE to the Eclipse platform. The JDT plugins provide APIs so that they can themselves be further extended by other tool builders.
The JDT plugins are categorized into:

JDT APT

JDT APT adds annotation processing support to Java 5 projects in Eclipse. It provides the following features:

  • Support for running annotation processors written for Sun’s command-line apt tool
  • Contribution of annotation-based build artifacts during incremental build
  • Contribution of problem markers for annotation-based problems


JDT Core

JDT Core defines the non-UI infrastructure. It includes:

  • An incremental Java builder
  • A Java Model that provides API for navigating the Java element tree. The Java element tree defines a Java centric view of a project. It surfaces elements like package fragments, compilation units, binary classes, types, methods, fields.
  • Code assist and code select support
  • An indexed based search infrastructure that is used for searching, code assist, type hierarchy computation, and refactoring.
  • Evaluation support

The JDT Core infrastructure has no built-in JDK version dependencies.


JDT Debug

JDT Debug implements Java debugging support and works with any JDPA-compliant target Java VM. It is implemented on top of the language independent "debug model" provided by the platform debugger.

JDT debug provides the following debugging features:

  • Launching of a Java VM in either run or debug mode
  • Attaching to a running Java VM
  • Expression evaluation in the context of a stack frame
  • Scrapbook pages for interactive Java code snippet evaluation
  • Dynamic class reloading where supported by Java virtual machine


JDT Text

JDT Text provides the Java editor with the following features:

  • Keyword and syntax coloring
  • Context specific (Java, Javadoc) code assist and code select
  • Method level edit
  • Margin annotations for problems, break points, or search matches
  • Outliner updating as editing takes place
  • API help shows Javadoc specification for selected Java element in a pop-up window
  • Import assistance automatically creates and organizes import declarations
  • Code formatting


JDT UI

JDT UI implements Java-specific workbench contributions:

  • Package Explorer
  • Type Hierarchy View
  • Java Outline View
  • Wizards for creating Java elements

The JDT UI provides refactoring support like: Extract Method or Safe Rename for Java elements that also updates references. Users can preview (and veto) individual changes stemming from a refactoring operation.

JDT searching support implements precise searches like find declarations of and/or references to packages, types, methods, and fields, scoped to the workspace, a working set, or the current selection.

JDT compare support implements a structured compare of Java compilation units showing the changes to individual Java methods. It supports to replace individual Java elements with version of element in the local history.