4

I have a Java application with an embedded pentaho-kettle executor in it. basically it's a war (usually running from within jboss or tomcat) that executes KTRs using a java. my setup is pretty much the same as in this post Pentaho Kettle within a web application

basically my question is this:

how can I tell which jar files I need in my classpath when executing a KTR?

or

how can I find the dependencies for a specific step?

for example, lets say I want to use the 'User Defined Java Expression' step, well, then through trial and error I now know that I have to have 'Janino.jar' in my classpath.

But what about other steps, how can I tell which Jars they require to execute?

There must be some better way, any suggestions?

Ilan.K
  • 673
  • 14
  • 22

1 Answers1

1

Try Jboss Tattletale, a code analysis tool that produces among other things a report with missing classes.

This is an example of how to run it in standalone mode:

java -Xmx1024m -cp /c/dev/software/jboss-tattletale/tattletale-1.1.2.Final/javassist.jar -jar /c/dev/software/jboss-tattletale/tattletale-1.1.2.Final/tattletale.jar c:/temp/report

With this a report should be generated in c:/temp/report that includes among other things a page with missing classes. From there with findjar it's possible to find the missing jars.

Angular University
  • 42,341
  • 15
  • 74
  • 81
  • is there a way to filter results in such a way as to track the dependencies starting from a single class? – Ilan.K Nov 13 '13 at 07:11
  • This tool mentions that use case, track dependencies of a single class http://www.dependency-analyzer.org/ (never tried it tough) – Angular University Dec 07 '13 at 23:09