Musings on JDK development

An apt ending draws nigh

I brought you into this world, and I'll take you out!

—Cliff Huxtable

The end of an era draws nigh!
After being deprecated in JDK 7, the apt command line tool and the entirely of its associated API is on track to be removed from JDK 8 within the next few months.
While apt was fine back in JDK 5, the time has come to transition annotation processing to the superior standardized annotation processing provided by javax.annotation.processing and javax.lang.model.*. These packages were added to Java SE 6 under JSR 269.

This removal effort was discussed in JEP 117: Remove the Annotation-Processing Tool (apt).

Portions of jax-ws in the JDK use apt, but those portions are being rewritten to use the JSR 269 APIs.
Once that revised version of jax-ws is being used by the JDK builds, apt will be excised in short order.

As a com.sun.* API, apt is not part of Java SE; it is just a component of the JDK and is thus easier to remove from the platform.
While I was the lead in creating apt, lo these many years ago, I'm looking forward to deleting the code from the JDK to encourage use of a better replacement API and to ease maintenance of javac.

Join the discussion

Comments ( 3 )
  • guest Saturday, February 11, 2012

    Hi, I have just started learning AOP which is mostly driven by Annotations. What u r saying is all annotation based components in every java based framework is going to be obsolete..???

    This would be my first time I would have been doing more annotation based configuration for my new project rather configuring it in XML (ex: spring, hibernate, cxf etc.)

    what would you suggest. I am a intermediate developer/programmer. It is very important for me to know which APIs are going to be obsolete so that I can put more effort on things which are going to sustain..

    Kindly advise...!!

  • guest Sunday, February 12, 2012

    I felt that this changeset is only applicable for JDK 8 release.

    Is oracle going to remove use of apt when using jax-ws in JDK 7?

    If oracle is planning to remove use of apt from JDK 7, which minor version of jdk 7 will be that?

  • Joe Darcy Sunday, February 12, 2012


    As the blog entry states, the apt tool from JDK 5 is being removed from JDK 8. Annotations in the language, annotation processing support in javac, and other annotation tools and frameworks remain and there is no plan for removing them.


    To reiterate, the apt tool is being removed from JDK 8; it is staying in the update releases of all of JDK 7, JDK 6, and JDK 5.

Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.