I’ve been a keen user of FreeMind, a tool for creating mind maps, both on Windows and on Linux. For some reason, it was broken on my Suse 10.1 linux desktop.

When running freemind at a command prompt, I was getting the following error:

Exception in thread "main" java.lang.Error: can't load com.birosoft.liquid.LiquidLookAndFeel
    at javax.swing.UIManager.initializeDefaultLAF(UIManager.java:1176)
    at javax.swing.UIManager.initialize(UIManager.java:1257)
    at javax.swing.UIManager.maybeInitialize(UIManager.java:1245)
    at javax.swing.UIManager.getUI(UIManager.java:851)
    at javax.swing.JPanel.updateUI(JPanel.java:104)
    at javax.swing.JPanel.<init>(JPanel.java:64)
    at javax.swing.JPanel.<init>(JPanel.java:87)
    at javax.swing.JPanel.<init>(JPanel.java:95)
    at javax.swing.JRootPane.createGlassPane(JRootPane.java:482)
    at javax.swing.JRootPane.<init>(JRootPane.java:313)
    at javax.swing.JFrame.createRootPane(JFrame.java:247)
    at javax.swing.JFrame.frameInit(JFrame.java:228)
    at javax.swing.JFrame.<init>(JFrame.java:195)
    at freemind.main.FreeMind.<init>(FreeMind.java:107)
    at freemind.main.FreeMind.main(FreeMind.java:647)

There is a liquidlnf.jar in /usr/share/java, but it wasn’t being picked up in the CLASSPATH. Therefore, as root, I edited /usr/share/freemind/freemind.sh, adding the highlighted line:

CLASSPATH="${ADD_JARS}:${CLASSPATH}:${freedir}/lib/freemind.jar:${freedir}/lib/ant/lib/jaxb-api.jar:${freedir}/lib/ant/lib/jaxb-impl.jar:${freedir}/lib/ant/lib/jaxb-libs.jar:${freedir}/lib/ant/lib/namespace.jar:/usr/share/java/relaxngDatatype.jar:/usr/share/java/xsdlib.jar:${freedir}/lib/ant/lib/jax-qname.jar:${freedir}/lib/ant/lib/sax.jar:${freedir}/lib/ant/lib/dom.jar:${freedir}/lib/forms-1.0.5.jar:/usr/share/java/commons-lang-2.1.jar:<b style="background-color:yellow">/usr/share/java/liquidlnf.jar:\</b> ${freedir}"

After this, everything seemed to work OK.