jdt core R2.1.x
java development tooling core
Back to Development Resources.
What's Happening? 
Rollup 2.1.3 - completed
Rollup 2.1.2 - completed
Rollup 2.1.1 - completed
Release 2.1.0 - completed
  • available on the download area.
  • final build notes
  • for R2.1, the major focus points were:
    • Incremental Java Compiler
      • expose compiler test suites (org.eclipse.jdt.core.tests.compiler)
      • provide mechanism for extracting tasks from comments (using configurable tags)
      • investigate ways to only compile a subset of source folders (exclusion rules)
      • provide option to avoid reporting deprecation warnings inside deprecated code
      • allow projects involved in cycle to be build correctly.
    • Java Model
      • expose JavaModel test suites (org.eclipse.jdt.core.tests.model)
      • opportunities for cleanup (e.g. delta processing)
      • provide a way to batch operations (similar to IWorkspaceRunnable)
      • per project settings
      • provide full-fledged reconcile errors (currently error detection result from parsing + name resolution only, excluding flow analysis, inner emulation and bytecode generation).
      • investigate support for more external resource/folder (e.g. external source or output folders). Ideally the platform should support these kind of resources as first-class ones.
    • Code Assist
      • code assist cleanup
      • improve match relevance in presence of expected type information (right hand side of assignments, ...)
      • provide keyword completions
Feature List 
Work items completed in the 2.1 stream, also see build notes.
Incremental Java Compiler
  • automatic detection of tasks in comments (prefixed with configurable tags and priorities)
  • batch compiler '-bootclasspath' command-line argument addition
  • configurable classpath problem severity (cycle error/warning, incomplete error/warning)
  • provide option to avoid reporting deprecation warnings inside deprecated code
  • builder iterates over the resource tree
  • builder can be toggled to not clean the output location on full build actions.
  • provide option to report assignments having no effect (e.g. 'x = x').
  • builder supports multiple output folders (at most one per source folder)
  • provide option to report unused private members.
  • builder allows projects involved in cycle to be built in one build action.
  • builder progress message shows global error/warning counts (was per project counts in 2.0).
Java Model
  • working copy can be created on non-yet existing compilation unit
  • support for per project options (IJavaProject.getOptions/setOptions) - unclear if such options will be shareable
  • support for batching JavaModel operations (JavaCore.run(IWorkspaceRunnable)).
  • classpath variable initializers are guaranteed to be invoked on session startup (instead of reusing value from previous session)
  • editor reconciler show all compile errors.
  • classpath source entry can be associated with exclusion patterns
  • classpath source entry can be associated with specific output location
  • source attachment generalized to source/binary folders; i.e. any binary folder/archive can be attached a source folder/archive (mixed mode is supported).
  • source attachment now infer the root path automatically
  • added API to check for resource exclusion (IJavaProject.isOnClasspath(IResource)).
  • added mechanism to allow container initializer to be requested to update definitions in generic way.
  • added source manipulation APIs on package fragment root
  • classpath problem markers have extra attributes ("id" and "arguments") to better recognize them (and provide quickfix).
  • added IJavaModel.contains(IResource) to inform clients whether the resource would be accessible through the JavaModel.
Code Assist
  • candidate relevance is altered in the following scenarii:
    • higher if cast expressions compatible with cast type
    • higher if return expressions compatible with method type
    • higher if method argument expression compatible with corresponding method parameter type
    • higher if initialization of variable declaration compatible with variable type
    • higher if expression in assignment compatible with left-hand side variable type
    • lesser if assigning a variable with itself
    • lesser for a static member in non-static reference
    • higher if non-qualified match or local variable match
    • higher if completion matches exactly the completed token
    • higher if expression in binary operation compatible with other operand
    • higher of if variable name completion contains a prefix
    • higher of if variable name completion contains a suffix
  • added NamingConventions API to suggest field, method names according to corresponding options (these conventions are used for codeassist proposals).
  • provide keyword completions
  • support '?' wild-card in search patterns
  • performance improvement on hierarchy search
Type Hierarchies
  • support for storing/reloading type hierarchies (avoiding to recreate on next session startup)
Release Process 
Bug Resolution 
Official plug-in version ID from 2.1 Rollup 3 is 2.1.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.4a compliant.
2.1.4 preview
posted on 2004/11/18, 4,191KB
applies to build R2.1.3 and better
description Addresses the following issues:
    - wrong handle restored from memento (bugs 75814)
    - ZipFile left open after opening .class file without source (bugs 78128)
This patch can be applied by expanding the zip archive into the <install>/eclipse/plugins/ directory
NOTE: Plug-in revision ID is now "2.1.3". 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.1.x/feature.xml, change the version to "2.1.3" 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_1_maintenance branch of the project org.eclipse.jdt.core. This branch reflects the current R2.1 maintenance effort.
  • Make sure to import the prerequisite plug-ins (usually from the latest SDK R2.1.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_1 : official code base released into R2.1.