无法通过java执行Kettle作业文件
这是我第一次处理无法通过java执行Kettle作业文件,java,jakarta-ee,pentaho,kettle,Java,Jakarta Ee,Pentaho,Kettle,这是我第一次处理Pentaho数据集成,所以我试图从java执行这个任务,但我没有做到这一点!尽管从Spoon开始,这项工作的大部分都工作得很好 这是我的代码: jobMeta = new JobMeta(LogWriter.getInstance(), "E:\\rubbish\\job.kjb", null); Job job = new Job(LogWriter.getInstance(), null , jobMeta); job.start(); job.waitUntilFinis
Pentaho
数据集成,所以我试图从java执行这个任务,但我没有做到这一点!尽管从Spoon
开始,这项工作的大部分都工作得很好
这是我的代码:
jobMeta = new JobMeta(LogWriter.getInstance(), "E:\\rubbish\\job.kjb", null);
Job job = new Job(LogWriter.getInstance(), null , jobMeta);
job.start();
job.waitUntilFinished();
这是有错误的结果!:
!INFO 01-07 16:32:03,305 - Using "C:\Users\AALKHA~1\AppData\Local\Temp\vf
_cache" as temporary files store.
ERROR 01-07 16:32:03,468 - null.0 - Unable to read Job Entry copy info from XML
node : org.pentaho.di.core.exception.KettleStepLoaderException:
No valid step/plugin specified (jobPlugin=null) for SPECIAL
ERROR 01-07 16:32:03,471 - null.0 - org.pentaho.di.core.exception.KettleStepLoa
erException:
No valid step/plugin specified (jobPlugin=null) for SPECIAL
at org.pentaho.di.job.entry.JobEntryCopy.<init>(JobEntryCopy.java:110)
at org.pentaho.di.job.JobMeta.loadXML(JobMeta.java:922)
at org.pentaho.di.job.JobMeta.<init>(JobMeta.java:726)
at org.pentaho.di.job.JobMeta.<init>(JobMeta.java:693)
at ingramint.steps.fullIntStep.step1(fullIntStep.java:62)
at ingramint.steps.fullIntStep.<init>(fullIntStep.java:32)
at ingramint.libs.menuLib.mainMenu(menuLib.java:75)
at ingramint.Main.main(Main.java:24)
Jul 01, 2014 4:32:03 PM ingramint.steps.fullIntStep step1
SEVERE: null
org.pentaho.di.core.exception.KettleXMLException:
Unable to load the job from XML file [E:\rubbish\job.kjb]
Unable to load job info from XML node
Unable to read Job Entry copy info from XML node : org.pentaho.di.core.exceptio
.KettleStepLoaderException:
No valid step/plugin specified (jobPlugin=null) for SPECIAL
No valid step/plugin specified (jobPlugin=null) for SPECIAL
at org.pentaho.di.job.JobMeta.<init>(JobMeta.java:734)
at org.pentaho.di.job.JobMeta.<init>(JobMeta.java:693)
at ingramint.steps.fullIntStep.step1(fullIntStep.java:62)
at ingramint.steps.fullIntStep.<init>(fullIntStep.java:32)
at ingramint.libs.menuLib.mainMenu(menuLib.java:75)
at ingramint.Main.main(Main.java:24)
Caused by: org.pentaho.di.core.exception.KettleXMLException:
Unable to load job info from XML node
Unable to read Job Entry copy info from XML node : org.pentaho.di.core.exceptio
.KettleStepLoaderException:
No valid step/plugin specified (jobPlugin=null) for SPECIAL
No valid step/plugin specified (jobPlugin=null) for SPECIAL
at org.pentaho.di.job.JobMeta.loadXML(JobMeta.java:968)
at org.pentaho.di.job.JobMeta.<init>(JobMeta.java:726)
... 5 more
Caused by: org.pentaho.di.core.exception.KettleXMLException:
Unable to read Job Entry copy info from XML node : org.pentaho.di.core.exceptio
.KettleStepLoaderException:
No valid step/plugin specified (jobPlugin=null) for SPECIAL
No valid step/plugin specified (jobPlugin=null) for SPECIAL
at org.pentaho.di.job.entry.JobEntryCopy.<init>(JobEntryCopy.java:134)
at org.pentaho.di.job.JobMeta.loadXML(JobMeta.java:922)
... 6 more
Caused by: org.pentaho.di.core.exception.KettleStepLoaderException:
No valid step/plugin specified (jobPlugin=null) for SPECIAL
at org.pentaho.di.job.entry.JobEntryCopy.<init>(JobEntryCopy.java:110)
... 7 more
!信息01-07 16:32:03305-使用“C:\Users\AALKHA~1\AppData\Local\Temp\vf
_“缓存”作为临时文件存储。
错误01-07 16:32:03468-null.0-无法从XML读取作业条目副本信息
节点:org.pentaho.di.core.exception.KettleStepLoaderException:
没有为特殊类型指定有效的步骤/插件(jobPlugin=null)
错误01-07 16:32:03471-null.0-org.pentaho.di.core.exception.cattlesteploa
电子例外:
没有为特殊类型指定有效的步骤/插件(jobPlugin=null)
在org.pentaho.di.job.entry.JobEntryCopy上(JobEntryCopy.java:110)
位于org.pentaho.di.job.JobMeta.loadXML(JobMeta.java:922)
在org.pentaho.di.job.JobMeta上(JobMeta.java:726)
位于org.pentaho.di.job.JobMeta(JobMeta.java:693)
在ingramint.steps.fullIntStep.step1(fullIntStep.java:62)
在ingramint.steps.fullIntStep.(fullIntStep.java:32)
位于ingramint.libs.menuLib.main菜单(menuLib.java:75)
在ingramint.Main.Main(Main.java:24)
2014年7月1日下午4:32:03 ingramint.steps.fullIntStep步骤1
严重:空
org.pentaho.di.core.exception.xml异常:
无法从XML文件[E:\垃圾\job.kjb]加载作业
无法从XML节点加载作业信息
无法从XML节点读取作业条目副本信息:org.pentaho.di.core.exceptio
.Stepperloader异常:
没有为特殊类型指定有效的步骤/插件(jobPlugin=null)
没有为特殊类型指定有效的步骤/插件(jobPlugin=null)
位于org.pentaho.di.job.JobMeta(JobMeta.java:734)
位于org.pentaho.di.job.JobMeta(JobMeta.java:693)
在ingramint.steps.fullIntStep.step1(fullIntStep.java:62)
在ingramint.steps.fullIntStep.(fullIntStep.java:32)
位于ingramint.libs.menuLib.main菜单(menuLib.java:75)
在ingramint.Main.Main(Main.java:24)
原因:org.pentaho.di.core.exception.xml异常:
无法从XML节点加载作业信息
无法从XML节点读取作业条目副本信息:org.pentaho.di.core.exceptio
.Stepperloader异常:
没有为特殊类型指定有效的步骤/插件(jobPlugin=null)
没有为特殊类型指定有效的步骤/插件(jobPlugin=null)
位于org.pentaho.di.job.JobMeta.loadXML(JobMeta.java:968)
在org.pentaho.di.job.JobMeta上(JobMeta.java:726)
... 还有5个
原因:org.pentaho.di.core.exception.xml异常:
无法从XML节点读取作业条目副本信息:org.pentaho.di.core.exceptio
.Stepperloader异常:
没有为特殊类型指定有效的步骤/插件(jobPlugin=null)
没有为特殊类型指定有效的步骤/插件(jobPlugin=null)
在org.pentaho.di.job.entry.JobEntryCopy上(JobEntryCopy.java:134)
位于org.pentaho.di.job.JobMeta.loadXML(JobMeta.java:922)
... 还有6个
原因:org.pentaho.di.core.exception.KettleStepLoaderException:
没有为特殊类型指定有效的步骤/插件(jobPlugin=null)
在org.pentaho.di.job.entry.JobEntryCopy上(JobEntryCopy.java:110)
... 还有7个
我用的是这些罐子:
- 水壶芯-3.2.2.jar
- 水壶-db-3.2.2.jar
- 水壶-发动机-3.2.2.jar
谢谢,看一下下面粘贴的代码,它就成功了您需要将数据集成/lib中的所有jar添加到类路径,而不仅仅是上面提到的jar。
public class ExecuteJob {
public static void main(String[] args) throws Exception {
String filename = args[0];
KettleEnvironment.init();
JobMeta jobMeta = new JobMeta(filename, null);
Job job = new Job(null, jobMeta);
job.start();
job.waitUntilFinished();
if (job.getErrors()!=0) {
System.out.println(“Error encountered!”);
} }
}
你有没有理由不至少运行kettle 5.0.1?(甚至是5.1?)是的,没错,我使用了它,它现在可以工作了,我还在开始时
cattleEnvironment.init()添加了这段代码
为了避免出现一些异常,如未找到数据库
和无法读取XML输入文件
。我本周做了完全相同的工作,效果很好。当这一行添加到顶部时,您是否可以粘贴执行java代码时遇到的错误。init();