spring boot web项目 maven 调用kettle

kettle的maven依赖没有找到,通过自己向maven库中添加,解决了springboot web项目调用kettle的问题

解决方法如下:

1.向maven中添加jar 

需要添加的jar包包括:kettle-core.jar,
kettle-engine.jar,metastore.jar,vfs2.jar, scannotation.jar

这些包在kettle的解压路径 pdi-ce-7.0.0.0-25\data-integration\lib 下可以找到

添加方法如下:

mvn install:install-file -Dfile=C:\ml\pdi-ce-7.0.0.0-25\data-integration\lib\commons-vfs2-2.1-20150824.jar -DgroupId=pentaho-kettle -DartifactId=vfs2 -Dversion=2.1-20150824 -Dpackaging=jar
mvn install:install-file -Dfile=C:\ml\pdi-ce-7.0.0.0-25\data-integration\lib\kettle-core-7.0.0.0-25.jar -DgroupId=pentaho-kettle -DartifactId=kettle-core -Dversion=7.0.0.0-25 -Dpackaging=jar
mvn install:install-file -Dfile=C:\ml\pdi-ce-7.0.0.0-25\data-integration\lib\kettle-engine-7.0.0.0-25.jar -DgroupId=pentaho-kettle -DartifactId=kettle-engine -Dversion=7.0.0.0-25 -Dpackaging=jar
mvn install:install-file -Dfile=C:\ml\pdi-ce-7.0.0.0-25\data-integration\lib\metastore-7.0.0.0-25.jar -DgroupId=pentaho-kettle -DartifactId=metastore -Dversion=7.0.0.0-25 -Dpackaging=jar
mvn install:install-file -Dfile=C:\ml\pdi-ce-7.0.0.0-25\data-integration\lib\scannotation-1.0.2.jar -DgroupId=pentaho-kettle -DartifactId=scannotation -Dversion=1.0.2 -Dpackaging=jar

C:\ml\pdi-ce-7.0.0.0-25\是我的kettle解压路径,这个命令可以通过cmd窗口执行

mvn命令需要添加环境变量,如果不添加,需要进入maven的bin目录执行

2. 在工程pom.xml中添加依赖


    pentaho-kettle
    kettle-core
    7.0.0.0-25


    pentaho-kettle
    kettle-engine
    7.0.0.0-25


    pentaho-kettle
    vfs2
    2.1-20150824


    pentaho-kettle
    metastore
    7.0.0.0-25


    pentaho-kettle
    scannotation
    1.0.2

3.依然报错

在工程中 添加如下测试代码

KettleEnvironment.init();
TransMeta tm = new TransMeta(filename);
Trans trans = new Trans(tm);
// 空参调用
trans.execute(null);
trans.waitUntilFinished();

在执行到KettleEnvironment.init()时, 依然报java.lang.NoClassDefFoundError: javassist/bytecode/ClassFile错误

4.终于可以成功执行了

再添加


    org.javassist
    javassist
    3.20.0-GA

这个依赖后,终于可以正常执行了

 

 

 

你可能感兴趣的:(spring boot web项目 maven 调用kettle)