Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Historically NetBeans rely on javac to provide Java editing features, refactorings, etc. This has some positive aspects, but also some downsides.

Pros:

  • Adopting latest Java language features is simple(r)
  • Errors, hints, warnings in the editor match exactly the command line build
  • Close co-operation with JDK language team

Cons:

  • Distributing GPLv2+CPEx licensed component in Apache software is hard


    • it would be way easier to use plain `javac` from a JDK

    • nb-javac is downloaded by end-user on demand via autoupdate

  • On demand download is problematic


  • Testing matrix is complicated

    • each supported JDK needs to be tested twice - with nb-javac  and without nb-javac 


  • Every bug/problem one needs to know whether nb-javac  was or wasn't in use


  • Recent version nb-javac-15  isn't really stable

  • nb-javac  is a fork of JDK's javac

    • nobody likes forks


    • ironically Arvind's team is part of JDK organization - e.g. it maintains own fork of JDK's `javac`

...

What is nb-javac?

"nb-javac" consists of two libraries (nb-javac-api.jar and nb-javac-impl.jar) that provide a NetBeans-specific fork of the Java JDK Java compiler.

...