如何从pentaho/ETL执行jar文件

如何从pentaho/ETL执行jar文件,pentaho,etl,jobs,kettle,Pentaho,Etl,Jobs,Kettle,我需要从pentaho ETL运行一个jar文件。我已将Testvmarguments.jar文件放入 服务器/数据集成服务器/tomcat/lib 。创建作业,使用shell脚本步骤执行jar文件 下面是我的日志:- INFO 02-01 17:05:59,002 - ImageImporter - Start of job execution INFO 02-01 17:05:59,007 - ImageImporter - Starting entry [Shell] INFO 02-0

我需要从pentaho ETL运行一个jar文件。我已将Testvmarguments.jar文件放入

服务器/数据集成服务器/tomcat/lib

。创建作业,使用shell脚本步骤执行jar文件

下面是我的日志:-

INFO 02-01 17:05:59,002 - ImageImporter - Start of job execution
INFO 02-01 17:05:59,007 - ImageImporter - Starting entry [Shell] 
INFO 02-01 17:05:59,008 - Shell - Running on platform : Linux
INFO 02-01 17:05:59,008 - Shell - Executing command :    /home/Myname/MyFolder/dummy.txt 
INFO 02-01 17:05:59,014 - Shell -    (stderr) Unable to access jarfile Testvmarguments.jar INFO 02-01    17:05:59,015 - ImageImporter - Finished job entry [Shell]    (result=[false]) 
INFO 02-01 17:05:59,015 - ImageImporter - Job    execution finished 
INFO 02-01 17:05:59,017 - Kitchen - Finished!    ERROR 02-01 17:05:59,017 - Kitchen - Finished with errors 
INFO 02-01 17:05:59,017 - Kitchen - Start=2014/01/02 17:05:56.504,    Stop=2014/01/02 17:05:59.017 
INFO 02-01 17:05:59,017 - Kitchen -    Processing ended after 2 seconds.
有人能帮助克服上述错误吗

DI环境中的jar文件

附件见

我认为使用shell脚本的原因是使用运行时参数执行jar

java-Dfilepath=/home/Myfolder/Myname/Test-Dname=Myname-jar Testvmarguments.jar

这是我的一段代码

 package com.alliance.test;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;

public class TestCommandLine
{
  public static void main(String[] args)
    throws Exception
  {
    String filename = null;
    String employeeName = null;
    if (System.getProperty("filepath") != null) {
      filename = System.getProperty("filepath");
    }
    if (System.getProperty("name") != null) {
      employeeName = System.getProperty("name");
    }
    File file = new File(filename + "Test.txt");
    if (!file.exists())
      file.createNewFile();
    FileWriter fw = new FileWriter(file);
    BufferedWriter out = new BufferedWriter(fw);
    out.write(filename + "\n");
    out.write(employeeName);
    out.close();
    fw.close();
  }
}
谢谢,
Surya

将jar放入data integration(服务器/数据集成服务器/tomcat)的目录文件夹后尝试一下。

不要将其称为外部进程,因为启动新vm是不必要的。相反,只需将jar添加到lib文件夹中,并从javascript步骤或udjc调用它,无论我将jar复制到libext文件夹中的哪个。 在JS步骤中使用以下语句

var testval2=org.wtc.pentaho.PentahoSample.testSample(“surya”)


我复制到libext目录,仍然是信息02-01 17:52:36800-Shell-Executing命令:/home/Myname/MyFolder/dummy.txt信息02-01 17:52:36809-Shell-(stderr)无法从JS访问jarfile Testvmarguments.jar@RahulCalling,例如“var md5_hash=org.apache.commons.codec.digest.digest.DigestUtils.md5Hex(test_value);”。这是在类中调用方法。如何使用JS执行jar**提前感谢**@CodekI已经添加了一段代码和执行jar文件所需的参数,你能看一下@Codekcan吗?请告诉我,这里有什么问题[link]