If I tell NetBeans (6.9) to compile on save, NetBeans warns me the compiled classes are not identical to classes compiled with JDK\'s compiler. The Java platform is set to \
Quite some time since question was asked, but I guess that what your looking for: http://wiki.netbeans.org/FaqCompileOnSave
Why doesn't NetBeans use the JDK compiler?
Quite simply because Sun's javac
is intended to be used for batch-based compilation from the command line of definitively valid files. Whereas NetBeans (and other IDEs) do incremental compilation as you type, and quite often have additional features such as creating classes for invalid files (so you can run methodA
if methodB
has a syntax error in, etc.).
Different tools for different requirements.
Like Eclipse, Netbeans does not use standard javac
so that it can offer incremental compilation and compilation of classes containing methods that have syntax errors.
Unlike Eclipse (which uses its own Eclipse Java Compiler), Netbeans actually uses the internal API of javac for compiling, syntax highlighting, and error detection. This is a nice advantage, in that Netbeans is able to handle all of the latest Java language features and faithfully reproduces any nuances or bugs of javac's behavior.
sources:
at Program Files\NetBeans 6.8\etc there is a netbeans_jdkhome value.
Check Your Java Platform Manager : Tools->Java Platforms