在这里,我正在尝试从 Java 执行转换。Java代码是:
public class PDI {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
KettleEnvironment.init();
System.out.println("1");
//StepLoader.init();
EnvUtil.environmentInit();
System.out.println("2");
TransMeta metaData = new TransMeta("D:/pdi/external/ExcelSheet/person.ktr");
System.out.println("3");
Trans trans = new Trans( metaData );
System.out.println("4");
trans.execute(null);
System.out.println("5");
trans.waitUntilFinished();
System.out.println("6");
if ( trans.getErrors() > 0 ) {
System.out.print( "Error Executing transformation" );
}
} catch (KettleException e) {
e.printStackTrace();
}
}
}
但我收到此错误:
1
2
3
4
2018/10/05 21:04:31 - person - Dispatching started for transformation [person]
5
java.lang.NoSuchMethodError: org.apache.poi.ss.usermodel.Cell.getCellType()I
at org.pentaho.di.trans.steps.excelinput.poi.PoiCell.getType(PoiCell.java:43)child index = 0, logging object : org.pentaho.di.core.logging.LoggingObject@5789a7e2 parent=718e171d-3be6-4174-a9d0-7ce8c54b2fb3
2018/10/05 21:04:32 - Microsoft Excel Input.0 - Finished processing (I=0, O=0, R=0, W=0, U=0, E=1)
at org.pentaho.di.trans.steps.excelinput.ExcelInput.fillRow(ExcelInput.java:138)
at org.pentaho.di.trans.steps.excelinput.ExcelInput.getRowFromWorkbooks(ExcelInput.java:665)
at org.pentaho.di.trans.steps.excelinput.ExcelInput.processRow(ExcelInput.java:471)
at org.pentaho.di.trans.step.RunThread.run(RunThread.java:60)
慕哥9229398
相关分类