我创建了各种数据转换(*.ktr文件),这些转换在从Spoon (PDI-CE5.4.0.1-130;Windows7)启动时运行得很好。
我尝试使用以下代码(接近文档中的示例代码)从Java运行它们:
KettleClientEnvironment.init();
TransMeta metaData = new TransMeta("C:\\examplepath\\test.ktr");
Trans transformation = new Trans(metaData);
transformation.execute(null);
transformation.waitUntilFinished();
...执行时,我会得到以下异常:
org.pentaho.di.core.exception.KettleMissingPluginsException:
Missing plugins found while loading a transformation
Step : CsvInput
Step : XMLOutput
at org.pentaho.di.trans.TransMeta.loadXML(TransMeta.java:2882)
at org.pentaho.di.trans.TransMeta.<init>(TransMeta.java:2718)
at org.pentaho.di.trans.TransMeta.<init>(TransMeta.java:2670)
at org.pentaho.di.trans.TransMeta.<init>(TransMeta.java:2647)
at org.pentaho.di.trans.TransMeta.<init>(TransMeta.java:2627)
at org.pentaho.di.trans.TransMeta.<init>(TransMeta.java:2592)
at org.pentaho.di.trans.TransMeta.<init>(TransMeta.java:2555)
at (caller method in my code)由于我不使用任何插件,而只使用本机步骤(在本例中为CsvInput,XMLOutput),所以我不理解抛出异常的原因。为什么会抛出它,以及如何修复要运行的代码?
我是不是缺少了maven依赖关系?我使用以下存储库http://repository.pentaho.org/content/groups/omni/和依赖项:
<dependency>
<groupId>pentaho-kettle</groupId>
<artifactId>kettle-core</artifactId>
<version>5.4.0.1-130</version>
</dependency>
<dependency>
<groupId>pentaho-kettle</groupId>
<artifactId>kettle-engine</artifactId>
<version>5.4.0.1-130</version>
</dependency>
<dependency>
<groupId>pentaho-kettle</groupId>
<artifactId>kettle-ui-swt</artifactId>
<version>5.4.0.1-130</version>
</dependency>
<dependency>
<groupId>pentaho-library</groupId>
<artifactId>libformula</artifactId>
<version>5.4.0.1-130</version>
</dependency>提前谢谢你的回答。
发布于 2015-08-24 10:10:28
我无意中使用了KettleClientEnvironment.init(),但我应该使用KettleEnvironment.init()。因此,环境没有被正确初始化,从而触发了异常。哇。这是菜鸟的错误:)
修正后的代码,也可以在Kettle文档和Rishu的示例中找到:
KettleEnvironment.init();
TransMeta metaData = new TransMeta("C:\\examplepath\\test.ktr");
Trans transformation = new Trans(metaData);
transformation.execute(null);
transformation.waitUntilFinished();
...谢谢卢夫基和瑞舒的评论和指点。
https://stackoverflow.com/questions/32126318
复制相似问题