Pentaho 6 Spoon错误

时间:2016-09-08 10:53:03

标签: pentaho kettle pentaho-spoon

我使用Pentaho 6(6.0.1.0-386)。

我的系统是Ubuntu 14.04 LTS java version "1.8.0_101" Java(TM) SE Runtime Environment (build 1.8.0_101-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode) Java版本: org.pentaho.di.trans.TransMeta.isAlwaysShowRunOptions()Z java.lang.NoSuchMethodError: org.pentaho.di.trans.TransMeta.isAlwaysShowRunOptions()Z at org.pentaho.di.ui.spoon.Spoon.executeFile(Spoon.java:8497) at org.pentaho.di.ui.spoon.Spoon.runFile(Spoon.java:8470) at org.pentaho.di.ui.spoon.trans.TransGraph.runTransformation(TransGraph.java:3376) at org.pentaho.di.ui.spoon.trans.TransGraph$12.widgetSelected(TransGraph.java:1727) at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source) at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source) at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source) at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source) at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source) at org.pentaho.di.ui.spoon.Spoon.readAndDispatch(Spoon.java:1347) at org.pentaho.di.ui.spoon.Spoon.waitForDispose(Spoon.java:7989) at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9269) at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:662) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.pentaho.commons.launcher.Launcher.main(Launcher.java:92) 我可以打开Pentaho并选择特定的转换。但是当我尝试执行它时,我遇到了以下错误:

Spoon发生意外错误:

[TestMethod]
public void MockedDeviceHostName()
{
    //Arrange 
    var device = Substitute.For<IDeviceLogic>();
    Device mockedDevice = new Device();     

    //Act   
    device.GetHostName("IP Address","Object Identifier Repository","CommunityString").Returns(mockedDevice.hostName);

    //Assert
    Assert.AreEqual(mockedDevice.hostName, device.GetHostName("IP Address", "Object Identifier Repository", "CommunityString"));

}

enter image description here

请您告诉我根本原因是什么?

1 个答案:

答案 0 :(得分:1)

这是jar版本的冲突。看看'kettle-engine-6.1-XXX.jar',其中6.1是发布版本。在你的情况下应该不低于6.0。

上述方法

org.pentaho.di.trans.TransMeta.isAlwaysShowRunOptions()Z java.lang.NoSuchMethodError: 

...从TransMeta转移到AbstractMeta类,所以在旧罐中TransMeta只是没有这样的方法(如果被移到抽象类) - 所以对于旧罐子你有这样的堆栈跟踪。

Here历史