O'Reilly logo

Checking Java Programs by Ian F. Darwin

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

It Usually Begins with javac

While you can't overlook the fact that the standard Java compiler javac from Sun includes a lot of error checking that is mandated by the Java language, you can easily miss the fact that it has a bunch of extra checking that is yours for the asking. Simply add the command-line option -Xlint and you will see a number of additional warnings. You can optionally append a comma-separated list of categories to this option, as shown in the "javac Xlint options" table—for example, -Xlint:deprecation,unchecked will run the standard compiler with extra details on use of deprecated code and unchecked type conversions.

javac -Xlint options

Option

Meaning

all

Enable all optional warnings; default if -Xlint appears alone on the javac command (Sun's documentation reads, "Enable all recommended warnings. In this release, all available warnings are recommended.")

none

Disable all optional warnings; default if -Xlint is not present on the javac command.

deprecation

Enable/disable warnings about deprecated code, code that is no longer a recommended part of the API.

unchecked

Enable/disable detailed warnings about unchecked type conversions.

fallthrough

Enable/disable warnings about case labels that should be preceded by break or other flow control but are not.

path

Enable/disable warnings about missing/unreadable CLASSPATH entries (my favorite!)

serial

Enable/disable warnings about missing "serial version unique identifiers" (discussed in the section "Enabling Useful Warnings" under Eclipse). ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required