我有一个简单的工作(名为 A),它开始一个简单的转换(名为 A)。转换仅包含一个虚拟组件。它们都存储在数据库存储库中。
如果我从厨房开始工作,一切都运行良好:
./kitchen.sh -rep=spoon -user=<user> -pass=<pwd> -job A
然后我写了一个简单的java代码:
JobMeta jobMeta = repository.loadJob(jobName, directory, null, null);
org.pentaho.di.job.Job job = new org.pentaho.di.job.Job(null, jobMeta);
job.getJobMeta().setInternalKettleVariables(job);
job.setLogLevel(LogLevel.ERROR);
job.setName(Thread.currentThread().getName());
job.start();
job.waitUntilFinished();
if (job.getResult() != null && job.getResult().getNrErrors() != 0) {
...
}
else {
...
}
问题是运行java程序我总是得到以下错误:
A - Unable to open transformation: null
A - java.lang.NullPointerException
at org.pentaho.di.job.entries.trans.JobEntryTrans.execute(JobEntryTrans.java:698)
at org.pentaho.di.job.Job.execute(Job.java:589)
at org.pentaho.di.job.Job.execute(Job.java:728)
at org.pentaho.di.job.Job.execute(Job.java:443)
at org.pentaho.di.job.Job.run(Job.java:363)
我已经用谷歌搜索了这个错误但没有成功,我被困在那里。
有什么建议吗?