我使用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"));
}
请您告诉我根本原因是什么?
答案 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历史