Installing BlueJ and Checkstyle on Personal Computers

The BlueJ IDE has a number of "extensions" (commonly called "plugins") which provide additional features.  One of these extensions integrates the Checkstyle tool.

1. If you haven't already installed BlueJ on your personal computer,  download Ver 3.1 then follow the Installation Instructions.

2. Download the  Checkstyle extension for BlueJ that contains the custom checks for our class coding standard.

The extension is installed by placing the extension jar file into an extensions directory.

OS
Location
(Unix)
(Windows)
(Mac)
<USER_HOME>/.bluej/extensions
<USER_HOME>\bluej\extensions 
<USER_HOME>/Library/Preferences/org.bluej/extensions


3. Download the associated style configuration for your course and place it in the same location.    CSc 102

4. Launch BlueJ.   From the Help menu, select "Installed Extensions".  You should see Checkstyle in the list.

5. From the Tools menu, select Preferences. The preferences dialog appears. Click on the Extensions tab. Locate the Checkstyle panel. For Configuration File enter the location of the class configuration XML file.

6. Open a project.  From the Tools menu, select "Checkstyle".  A new window opens with the files in a panel on the left.  Click on any file to see the checkstyle violations displayed in the window on the right.  The display is dynamically linked to your source code; when you compile the file, the checkstyle display updates immediately.


Related Tools

To avoid incompatibilities, be sure the version of Java on your personal workstation is the same as the version installed on the CSL server.

In the CSc department computer labs, Checkstyle is installed in the grader account.
~graderjd/bin/stylechecker myprogram.java

BlueJ has an Auto-layout feature that will help with automatically adjusting indentation of source code.   Look under the "Edit" menu.

Here is the instructor's  CompileLogger extension for tracking compiles and errors.

LOC counter extension counts source lines of code in Java source code.