How to build TuxGuitar with NetBeans

Recently a guitar-playing developer asked me if I can help him to build his favorite guitar tab program TuxGuitar from the sources. So here is a small step-by-step guide using NetBeans.


  1. Checkout the sources via the NetBeans SVN Client (Team->Subversion->Checkout…) from
    (At you will find the SCM URL)2014-09-23_21h48_10
    2014-09-23_21h46_58 2014-09-23_21h47_09
  2. Open the maven project at trunk\build-scripts\tuxguitar-windows-x86
  3. Right click on the project, choose “Clean and Build” and wait for the assembly to finish.2014-09-23_17h45_25
  4. After that in trunk\build-scripts\tuxguitar-windows-x86\target\tuxguitar-1.3-SNAPSHOT-windows-x86 there is a executable version of TuxGuitar2014-09-23_21h26_40
  5. Start TuxGuitar *g*

The setup was easy because NetBeans provides a SVN Client and a Maven installation out-of-the-box. Tested with NetBeans 8.0.1 (running using JDK8) and Windows 7 64bit.


If you use a x64-Windows and a x64-JDK TuxGuitar won’t run because of native 32bit-SWT libraries. You will see the following exception.

Exception in thread "main" java.lang.UnsatisfiedLinkError: Cannot load 32-bit SWT libraries on 64-bit JVM

Solution: In the tuxguitar.bat set the path to the java executable of a 32 bit JDK.

 SET JAVA="C:/Program Files (x86)/Java/jre7/bin/java"

Improved Maven-based NetBeans Platform Application Development using JRebel

Some months ago I already blogged about how to tweak the pom.xml of your Maven-based NetBeans platform application so that you can use JRebel to reload your changes. [1]

This process has been simplified in the meantime. Thanks to Peter Hansson for letting me know.


  • Install the JRebel NetBeans IDE Plugin (from the Plugin Center or from your IDE)
  • Make sure “Compile on Save” is enabled for your project.
  • Make sure the “Enable/Disable JRebel” toolbar button is checked.
  • Generate a rebel.xml file: In the context menu of the project choose “Open JRebel panel” and check the checkbox next to your project in the JRebel Panel.
  • Alter the properties section of the pom.xml like this
        <!-- for JRebel 5.x -->
            <>-J-javaagent:"${current.jrebel.agent.path}" -J-Drebel.log=true ${}</>
        <!-- for JRebel 6.x -->
            <>-J-Xbootclasspath/p:C:\temp\rebelboot.jar -J-javaagent:"${current.jrebel.agent.path}" -J-Drebel.log=true ${}</>

    The NEW and COOL thing is that you do not have to bother yourself with the path of the JRebel jar file anymore. The JRebel NetBeans IDE plugin sets the path to the JRebel jar from your IDE into the Maven property “current.jrebel.agent.path” and you can reuse it in your pom.xml. Now there will be no hardcoded paths anymore, when you check-in your pom.xml to SCM – except the JRebel6 bootclasspath edge-case.

  • run the module – the application with your module and JRebel should start up
  • make changes to your classes and JRebel will pick them up

Here a screenshot to illustrate the previous steps:

Tested with NetBeans 8.0, JRebel NetBeans IDE Plugin 5.6.2


New version of Additional Java Hints plugin – 1.2.0

FYI: Recently I released the new version 1.2.0 of the “Additional Java Hints” plugin. There are some new hints/small quickfixes, which may be useful (or not) for Java developers.

  • [New Hint]: Change the modifier of a class/method/field to public/package protected/protected/private (by rasa-silva)
  • [New Hint]: Remove public/abstract/final modifiers from field declarations within interfaces
  • [New Hint]: Convert from char and string and back
  • [New Hint]: Convert number in literal to number and back
  • [New Hint]: Convert to StringUtils.isBlank()/StringUtils.isNotBlank()/StringUtils.isEmpty()
  • [New Hint]: Convert from if/else to ternary and back
  • [New Hint]: Invert ternary if/else
  • [New Hint]: Report methods that have class name
  • [Updated Hint]: “Convert to assertTrue/assertFalse” now supports junit.framework.Assert too
  • [Updated Hint]: “Replace +…” hints can now be configured


The plugin is verified for NB 8.0 and NB 7.4 and already available from the plugin dialog within your NetBeans IDE. Or you can download it from

As always please file issues and enhancements at . Pull request are also appreciated.

NetBeans: Switching project groups from toolbar

Today I saw that a new version 1.7 of the “Cool Editor Actions” plugin has been uploaded by anchialos to the plugin portal [1]. It introduces switching of project groups and toolbar configurations right from the toolbar, which is very nice.



BTW: A similar much older plugin named “Project Group Toolbar” from Aljoscha Rittner already exists, but  unfortunately it does not work in a stable way anymore – regarding to multiple comments at the plugin portal [2].


Back to the past: NetBeans IDE splash screens since 3.5.1

Retro alarm! You can still download all the NetBeans IDE versions since 3.5.1. I installed them all in a VM, ran them and captured some images for you. BTW NetBeans 3.5.1 runs on JDK7 – or at least it started.

The previous released can be downloaded at

Splashscreen Some screenshots
2014-02-28_20h36_09 2014-02-28_20h39_11
2014-02-28_20h47_50 2014-02-28_20h47_17
2014-02-28_20h48_25 2014-02-28_20h49_34
2014-02-28_20h52_34 2014-02-28_20h56_12
2014-02-28_20h57_31 2014-02-28_20h59_34
2014-02-28_21h00_51 2014-02-28_21h01_59
2014-02-28_21h02_56 2014-02-28_21h04_51
2014-02-28_21h07_24 2014-02-28_21h08_59
2014-02-28_21h10_07 2014-02-28_21h11_29
2014-02-28_21h19_18 2014-02-28_21h19_28
 2014-02-28_21h12_48  2014-02-28_21h14_32
2014-02-28_21h18_23 2014-02-28_21h19_03
2014-02-28_21h21_40 2014-02-28_21h22_19
2014-02-28_21h28_25 2014-02-28_21h29_42
2014-02-28_21h30_14 2014-02-28_21h31_02