I just want to post this information as I couldn’t find anything on it in the internet. It’ll just be a “shorty” and applies to you if you’re using a 64bit Windows system, such as my Windows 2003 Server 64bit as a basis for your Pentaho BI system.
If you’re trying to start the Spoon.bat from the Pentaho Data Integration package (aka. Kettle), and it doesn’t start you’ll be able to get additional error messages by editing it (right click, and then Edit).
Now at the very bottom you should find something like this:
start javaw %OPT% org.pentaho.di.ui.spoon.Spoon %_cmdline%
The first thing we want to do is to change javaw into java. Now while they are nearly totally identical, java is in possession of a console, while javaw is not. Now that gives java the opportunity to actually use the console for messages – you could say that java is the verbose version of javaw.
Now, we have the error messages, but as we still have the keyword “start” in front of java, it’ll be written in a new console and not the one used by the bat file. We’ll change that by removing “start”. Now the last thing to do is to make the bat file pause, when it’s finished, otherwise it’ll just close the console as soon as it reaches it’s end (regardless of any messages that we may still want to read).
This is what our edited version looks like:
java %OPT% org.pentaho.di.ui.spoon.Spoon %_cmdline% pause
Now if you’ve get this error message, you might just ran into the same problem that I did:
Spoon – Fatal error : java.lang UnsatisfiedLinkError: no swt-win32-3346 or swt-win32 in swt.library.path, java.library.path or the jar file
This is followed by a call stack and the exception that is thrown. But anyhow that’s just blurr in this case, as we assume that the code is correct, it’s just something with our environment.
And in fact it is. As the server I requested is a 64bit machine, the IT support delivered it to me with a 64bit version of Java, installed in the standard path C:Program FilesJavajre1.5.0_21. If your CLASSPATH variable points there (you can easily check by calling
cmd > echo %classpath%
in CMD, without having to meddle around with all that menus Windows offeres) you’d rather want it to use the 32bit version, that is usually found at C:Program Files (x86)Javajre1.5.0_21. If you don’t have that directory, you’ll need to install the 32bit version of Java first.
Oh, and make sure, that it is the Java 5.0 and not the 6.0, as that is not yet fully supported by Pentaho.