Java News from Thursday, November 18, 2004

Oliver Burn has released Checkstyle 3.5, a lint-like tool that checks Java code for adherence to various coding standards. Besides bug fixes new features in 3.5 include:

As is all too comon for these sorts of tools. the documentation, though better than average, was still actively misleading, and the product did not work if you followed the instructions. (One file was not in the directory the examples said it was in.) Still the problem wasn't too hard to debug, and after I corrected this, checkstyle generated almost 30,000 error messages when I ran it across the XOM code base. A few of these were false positives. Most of them were either "Line has trailing spaces" or "File does not end with a newline". These are very minor points, and certainly not something I'm going to fix at the cost of mucking up my source repository. Some of the issues are flat-out wrong; in particular the complaints about "Unused @throws tag for 'IllegalDataException'" and other runtime exceptions. checkstyle also seemed to believe that I should decalre all my method arguments final, a rather pointless exercise IMO, given that Java passes all arguments by value. It also seems to want me to put JavaDoc comments on all my private methods and fields. There were a lot of other issues like this. If it found any real problems, I lost them in the sea of false positives. Checkstyle is published under the LGPL.


ej-technologies has released Install4j 3.1.1, a $698 payware cross platform tool for building native installers and application launchers for Java applications. New features in 3.1 include :

3.1.1 is a bug fix release.


ej-technologies has also released version 3.0 of exe4j, a $99 payware tool for integrating Java programs into Windows with your own process name, task-bar grouping, native splash screens, and so forth. New features in 3.0 include:

  • New API for notification of multiple startups in single instance mode
  • Creation of redirection files on demand
  • Can redirect stderr and stdout to the same file
  • The started process of an exe4j executable remains the same during the entire execution
  • Improved startup error notification
  • Can use environment variables in classpath entries
  • Support for UNC path names