Hitachi Vantara Pentaho Community Wiki
Child pages
  • Building and Debugging with Eclipse
Skip to end of metadata
Go to start of metadata

In short, these are the steps:

  1. Check out PDI from SVN source (for example http://source.pentaho.org/svnkettleroot/Kettle/tags/4.2.0-GA)
  2. Fix all build errors
    1. IMHO most often, only the SWT.JAR has to be fixed.
      Check: Project -> Properties -> Java Build Path -> Libraries -> swt.jar
      You have to use the correct swt.jar, depending on your platform. So remove the incorrect one and add correct swt.jar manually. For example use 'lib-ext/win32/swt.jar' on Windows XP 32bit.
    2. Check that you have a JDK1.6 Java Runtime installed in your Eclipse workspace. Set it as default.
    3. Check that the Kettle project Java compiler setting is set to "1.6" (else you will and up having ca. 32000 errors)
    4. In case of error "SwingXulLoader cannot be resolved",
      configure Project -> Java build path -> Libraries -> Add Jar (at the end) "test/libext/pentaho-xul-wing-TRUNK-SNAPSHOT.jar"
  3. Create Debug Launch configuration
    1. Name: Spoon
    2. Main class: org.pentaho.di.ui.spoon.Spoon
    3. Arguments for VM: -Xmx950m -XX:MaxPermSize=256m

Now, you should be able to start Spoon with regular 'debug' launch mode.

1 Comment

  1. This article is quite outdated.
    1) Kettle is moved to git now - https://github.com/pentaho/pentaho-kettle and follows git style pull requests etc

    2) To run Spoon you may first - resolve/build entire project. You may faced with issues in subfloor.xml with javac task - that is probably http://jira.pentaho.com/browse/PDI-10860 if it is not already resolved.

    3) even you have done well - running Spoon you may face issue like
    java.lang.NullPointerException
        at sun.misc.MetaIndex.mayContain(MetaIndex.java:243)
        at sun.misc.URLClassPath$JarLoader.getResource(URLClassPath.java:822)
        at sun.misc.URLClassPath.getResource(URLClassPath.java:199)
        at sun.misc.URLClassPath.getResource(URLClassPath.java:251)
        at java.lang.ClassLoader.getBootstrapResource(ClassLoader.java:1297)
        at java.lang.ClassLoader.getResource(ClassLoader.java:1136)
        at java.lang.ClassLoader.getResource(ClassLoader.java:1134)
        at org.pentaho.di.ui.util.ImageUtil.getImageAsResource(ImageUtil.java:77)
        at org.pentaho.di.ui.core.dialog.Splash.<init>(Splash.java:84)
        at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:593)

    to solve this one you may add /assembly/package-res as a source folder. This will ship laf.properties to classpath - and finally you will be able to run Spoon.