jdt core R2.0.x
java development tooling core
Back to Development Resources.
What's Happening? 
Rollup 2.0.4 - in progress
Rollup 2.0.3 - no contribution
Rollup 2.0.2 - completed
Rollup 2.0.1 - completed
Release 2.0.0 - completed
  • available on the download area.
  • final build notes
  • since R1.0, the major focus points were:
    • Compiler
    • JCK 1.4 compliance
    • incremental build performance and footprint reduction
    • JavaModel
    • performance
    • JDOM
    • Abstract syntax tree API enabling the manipulation of individual source constructs down to the level of expressions. It will also expose name resolution information.
    • Search
    • performance
    • Evaluation
    • performance
Feature List 
Incremental Java Compiler
  • 1.4 assertion support (optional)
  • jck 1.4 compliant (when toggled in 1.4 mode)
  • new builder implementation enabled (old 1.0 build implementation got removed) 
    • memory footprint considerably reduced 
    • simple method body change is instantaneous 
  • better trigger recompilations in dependent projects.
  • no more resource copying if output location coincides with any source folder
  • resource copy filters added (configurable through JavaCore option "org.eclipse.jdt.core.builder.resourceCopyExclusionFilters") . It supports both files and folders.
  • encoding support added (configurable through JavaCore option "org.eclipse.jdt.core.encoding") 
  • all VM target settings up to 1.4 are now supported (from 1.2 on, default abstract methods are no longer generated in class files).
  • added option to prevent building if classpath is incorrect (enabled by default)
  • added option to limit the number of reported errors per unit (default is 100)
Java Model
  • exportable classpath entries: allowing projects to contribute more than their output folder to dependent projects.
  • classpath validation
  • no longer reindex when unnecessary (sync info change / source change outside classpath)
  • maintain project references in parallel to prerequisite projects on the classpath
  • 1.0 backward compatible (resurrected removed deprecated API)
  • populate the model more lazily and perform more local refreshes
  • java project implementation only holds onto local package fragment roots (used to cache all of them, including external shared ones) 
  • java element deltas are no longer populated down to children in case adding/removing openable elements 
  • java element deltas are now batched.
  • problem corrections for Java problem markers (autofix).
  • new DOM AST allowing expression level manipulations
  • buffer factories can be specified for working copies 
  • project dependency cycle detection reenabled 
  • all tooling now performs normally inside body of a method which signature could not be resolved
  • working copies can be shared amongst clients (i.e. several editors)
  • new extension point for registering custom classpath variable initializers
  • detect problems while reconciling and codeassisting
  • added scanner and code formatter API
  • added classfile reader and bytecode disassembler API
  • added support for notifying Java element changes before the builders run
  • ensure JavaModel is updated at the end of each JavaModel operation
  • added classpath container entries (CPE_CONTAINER)
  • JavaCore options are persisted in between sessions.
  • added API for explicitely refreshing external JARs.
Code Assist
  • provide parameter names
  • optional visibility checks
  • variable name suggestions
  • method declarations (just enter selector prefix)
  • insert qualifications in case of ambiguities (option added to force qualification)
  • hide synthetic members
  • provide anonymous type completions
  • provide relevance hint for better sorting proposals
Code Select
  • select declarations
  • improved fault-tolerance
  • find selection in working copies (compilation units modified in editors) 
  • no longer need a non-empty selection to perform (when empty it will use the token in which the selection start position is located) 
  • find matches in binaries
  • find matches in innerclasses
  • distinguish field read/write access
  • can have working copies take precedence over original units
  • evaluate in binaries
Type Hierarchies
  • type missing a super type becomes a root (no longer subtype of Object)
  • type hierarchy reacts to addition of a missing type
  • added support for computing hierarchies considering working copies.
  • added API to retrieve cached type flags.
Release Process 
Bug Resolution 
Design notes 
Official plug-in version ID from 2.0 Rollup3 build is 2.0.3 (also see build notes). These patches are not yet part of any official release or rollup; but provide an early access to the next delivery for quality assessment. If you find any regression using these patches, please inform the JDT/Core team by entering a bug report. Patches listed here are Jck1.3a and Jck1.4 compliant.
2.0.4 preview
posted on 2003/03/06, 3,898 KB
applies to R2.0.2 and better
description Patch resolving classpath validation defficiencies which could affect clients sharing Java projects using 2.1 classpath enhancements (like nested source folders). Also addressed rare scenario where Java builder could incorrectly discard all files in a project (need some direct edit of .classpath file to make output be project + shutdown/restart).
Also see corresponding build notes.
This patch can be applied by expanding the zip archive into the <install>/eclipse/plugins/ directory
NOTE: Plug-in revision ID is now "2.0.4". In case this plug-in revision does not match the one currently installed, the JDT feature may require to be edited accordingly (in <install>/eclipse/features/org.eclipse.jdt_2.0.x/feature.xml, change the version to "2.0.4" for plugin which id is "org.eclipse.jdt.core").
Getting the sources 
  • Define a CVS connection to server pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse
  • Check out the R2_0_1 branch of the project org.eclipse.jdt.core. This branch reflects the current R2.0 maintenance effort (the branch name is incorrectly suggests it corresponds to 2.0.1 rollup only).
  • Make sure to import the prerequisite plug-ins (usually from the latest SDK R2.0.x build). Prerequisite plug-ins are already referenced on the project build path (.classpath file).
  • The sources of this project are either 1.3 or 1.4 compatible, however for 1.3 backward compatibility (Eclipse is primarily aimed for 1.3 runtimes), the compiler compliance setting should be set to 1.3 and the default JRE should be a 1.3 JRE.
  • In case willing to work on a different code stream, you may want to check out a different version of the project
    • version R2_0 : official code base released into R2.0.
    • version Rollup2_0_1 : official code base released into Rollup 2.0.1