kettle 9.2源码打包和idea环境启动及常见错误

一:源码打包
这里为什么是kettle 9.2,因为kettle 9.3+需要jdk11
这里直接去下载kettle的源码,tag=9.2.0.4-R。这里需要自己搭建一个nexus仓库,因为有些包从kettle的仓库里面下载不下来。

nexus新建仓库代理, 记得加到public里面去
kettle 9.2源码打包和idea环境启动及常见错误_第1张图片

https://repo.orl.eng.hitachivantara.com/artifactory/pnt-mvn/

完整的settings.xml






<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  

  <localRepository>D:/tools/maven/apache-maven-3.6.3/conf/repositorylocalRepository>

  

  

  
  <pluginGroups>
    

    <pluginGroup>org.pentaho.maven.pluginspluginGroup>
    <pluginGroup>com.pentaho.maven.pluginspluginGroup>
    <pluginGroup>com.github.spotbugspluginGroup>
  pluginGroups>

  
  <proxies>
    
  proxies>

  
  <servers>
    

    

    <server>
      <id>pentaho-publicid>
      <username>devreaduserusername>
      <password>{zIMyJWfHKfoHiBJAVsAgW4E5BcJzR+nhTtgPy0J+/rs=}password>
    server>
  servers>

  
  <mirrors>
    

    <mirror>
      <id>mirrorIdid>
      <mirrorOf>*mirrorOf>
      <name>maven-publicname>
      <url>http://172.16.30.203:8081/repository/maven-public/url>
    mirror>
  mirrors>

  
  <profiles>
    

    

    <profile>
      <id>nexusid>
      <repositories>
        <repository>
          <id>nexus-snapshotsid>
          <url>http://172.16.30.203:8081/repository/maven-snapshots/url>
          <releases>
            <enabled>falseenabled>
          releases>
          <snapshots>
            <enabled>trueenabled>
            <updatePolicy>alwaysupdatePolicy>
          snapshots>
        repository>
        <repository>
          <id>nexus-releasesid>
          <url>http://172.16.30.203:8081/repository/maven-releases/url>
          <releases>
            <enabled>trueenabled>
          releases>
          <snapshots>
            <enabled>falseenabled>
          snapshots>
        repository>
      repositories>
      <pluginRepositories>
        <pluginRepository>
          <id>snapshotsid>
          <url>http://172.16.30.203:8081/repository/maven-snapshots/url>
          <releases>
            <enabled>falseenabled>
          releases>
          <snapshots>
            <enabled>trueenabled>
            <updatePolicy>alwaysupdatePolicy>
          snapshots>
        pluginRepository>
        <pluginRepository>
          <id>nexus-releasesid>
          <url>http://172.16.30.203:8081/repository/maven-releases/url>
          <releases>
            <enabled>trueenabled>
          releases>
          <snapshots>
            <enabled>falseenabled>
          snapshots>
        pluginRepository>
      pluginRepositories>
    profile>

  profiles>

  

  <activeProfiles>
    <activeProfile>nexusactiveProfile>
  activeProfiles>

settings>

idea导入kettle,等待下载maven依赖,慢慢等,需要很长的时间。

kettle 9.2源码打包和idea环境启动及常见错误_第2张图片
这个包在kettle的远程仓库也没有,可以直接去掉
kettle 9.2源码打包和idea环境启动及常见错误_第3张图片

有些包在kettle的远程仓库有,但是下载不下来,解决方案是手动下载,然后上传到自己的maven仓库
kettle 9.2源码打包和idea环境启动及常见错误_第4张图片
kettle 9.2源码打包和idea环境启动及常见错误_第5张图片
这里需要删除本地的文件,上传再重新下载
kettle 9.2源码打包和idea环境启动及常见错误_第6张图片
maven依赖下载成功了,idea上maven依赖还是红色的,这是idea的bug,解决方案为pom.xml去掉依赖,maven刷新,再加上依赖,maven刷新。

maven依赖下载成功,打包一般没问题
kettle 9.2源码打包和idea环境启动及常见错误_第7张图片
kettle 9.2源码打包和idea环境启动及常见错误_第8张图片
解压,双击Spoob.bat即可使用

kettle 9.2源码打包和idea环境启动及常见错误_第9张图片

二:idea开发环境启动

新建application
kettle 9.2源码打包和idea环境启动及常见错误_第10张图片

  • 错误一
java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: 
	no swt-gtk-4623 in java.library.path
	no swt-gtk in java.library.path
	Can't load library: C:\Users\Administrator\.swt\lib\win32\x86_64\swt-gtk-4623.dll
	Can't load library: C:\Users\Administrator\.swt\lib\win32\x86_64\swt-gtk.dll

解决办法:

kettle 9.2源码打包和idea环境启动及常见错误_第11张图片
然后在ui的pom.xml添加依赖

<dependency>
      <groupId>com.swtgroupId>
      <artifactId>swtartifactId>
      <version>1.0.0version>
      <scope>systemscope>
      <systemPath>${project.basedir}/lib/swt.jarsystemPath>
dependency>

kettle 9.2源码打包和idea环境启动及常见错误_第12张图片

  • 错误二:
org.pentaho.di.core.exception.KettleException: 
Unable to find plugin with ID 'Kettle'.  If this is a test, make sure kettle-core tests jar is a dependency.  If this is live make sure a kettle-password-encoder-plugins.xml exits in the classpath

	at org.pentaho.di.core.encryption.Encr.init(Encr.java:61)
	at org.pentaho.di.core.KettleClientEnvironment.init(KettleClientEnvironment.java:124)
	at org.pentaho.di.core.KettleClientEnvironment.init(KettleClientEnvironment.java:80)
	at org.pentaho.di.core.KettleEnvironment.init(KettleEnvironment.java:134)
	at org.pentaho.di.core.KettleEnvironment.init(KettleEnvironment.java:101)
	at org.pentaho.di.core.KettleEnvironment.init(KettleEnvironment.java:82)
	at org.pentaho.di.ui.spoon.Spoon$1.call(Spoon.java:643)

kettle 9.2源码打包和idea环境启动及常见错误_第13张图片

  • 错误三:
2022/11/23 18:23:44 - General - ERROR (version Unknown, build 0 from 2022/11/23 18:23:42.892 by Administrator) : Error initializing transformation
2022/11/23 18:23:44 - General - ERROR (version Unknown, build 0 from 2022/11/23 18:23:42.892 by Administrator) : org.pentaho.ui.xul.XulException: Can not locate Xul document [ui/spoon.xul]
2022/11/23 18:23:44 - General - 	at org.pentaho.ui.xul.impl.AbstractXulLoader.findDocument(AbstractXulLoader.java:512)
2022/11/23 18:23:44 - General - 	at org.pentaho.ui.xul.impl.AbstractXulLoader.loadXul(AbstractXulLoader.java:229)
2022/11/23 18:23:44 - General - 	at org.pentaho.di.ui.spoon.Spoon.init(Spoon.java:870)
2022/11/23 18:23:44 - General - 	at org.pentaho.di.ui.spoon.Spoon.createContents(Spoon.java:9352)
2022/11/23 18:23:44 - General - 	at org.eclipse.jface.window.Window.create(Window.java:431)
2022/11/23 18:23:44 - General - 	at org.eclipse.jface.window.Window.open(Window.java:788)
2022/11/23 18:23:44 - General - 	at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9383)
2022/11/23 18:23:44 - General - 	at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:711)
2022/11/23 18:23:44 - General - ERROR (version Unknown, build 0 from 2022/11/23 18:23:42.892 by Administrator) : Error starting Spoon shell
2022/11/23 18:23:44 - General - ERROR (version Unknown, build 0 from 2022/11/23 18:23:42.892 by Administrator) : java.lang.NullPointerException
2022/11/23 18:23:44 - General - 	at org.pentaho.di.ui.spoon.Spoon.init(Spoon.java:923)
2022/11/23 18:23:44 - General - 	at org.pentaho.di.ui.spoon.Spoon.createContents(Spoon.java:9352)
2022/11/23 18:23:44 - General - 	at org.eclipse.jface.window.Window.create(Window.java:431)
2022/11/23 18:23:44 - General - 	at org.eclipse.jface.window.Window.open(Window.java:788)
2022/11/23 18:23:44 - General - 	at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9383)
2022/11/23 18:23:44 - General - 	at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:711)

kettle 9.2源码打包和idea环境启动及常见错误_第14张图片

  • 错误四
2022/11/23 18:27:07 - General - ERROR (version Unknown, build 0 from 2022/11/23 18:27:05.372 by Administrator) : Error starting Spoon shell
2022/11/23 18:27:07 - General - ERROR (version Unknown, build 0 from 2022/11/23 18:27:05.372 by Administrator) : java.lang.NoClassDefFoundError: org/jaxen/JaxenException
2022/11/23 18:27:07 - General - 	at org.pentaho.ui.xul.impl.AbstractXulLoader.preProcess(AbstractXulLoader.java:357)
2022/11/23 18:27:07 - General - 	at org.pentaho.ui.xul.impl.AbstractXulLoader.loadXul(AbstractXulLoader.java:113)
2022/11/23 18:27:07 - General - 	at org.pentaho.ui.xul.swt.SwtXulLoader.loadXul(SwtXulLoader.java:128)
2022/11/23 18:27:07 - General - 	at org.pentaho.ui.xul.swt.SwtXulLoader.loadXul(SwtXulLoader.java:122)
2022/11/23 18:27:07 - General - 	at org.pentaho.ui.xul.impl.AbstractXulLoader.loadXul(AbstractXulLoader.java:239)
2022/11/23 18:27:07 - General - 	at org.pentaho.di.ui.spoon.Spoon.init(Spoon.java:870)
2022/11/23 18:27:07 - General - 	at org.pentaho.di.ui.spoon.Spoon.createContents(Spoon.java:9352)
2022/11/23 18:27:07 - General - 	at org.eclipse.jface.window.Window.create(Window.java:431)
2022/11/23 18:27:07 - General - 	at org.eclipse.jface.window.Window.open(Window.java:788)
2022/11/23 18:27:07 - General - 	at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9383)
2022/11/23 18:27:07 - General - 	at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:711)
2022/11/23 18:27:07 - General - Caused by: java.lang.ClassNotFoundException: org.jaxen.JaxenException
2022/11/23 18:27:07 - General - 	at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
2022/11/23 18:27:07 - General - 	at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
2022/11/23 18:27:07 - General - 	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
2022/11/23 18:27:07 - General - 	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)

ui添加依赖
kettle 9.2源码打包和idea环境启动及常见错误_第15张图片

<dependency>
      <groupId>jaxengroupId>
      <artifactId>jaxenartifactId>
dependency>

启动成功

kettle 9.2源码打包和idea环境启动及常见错误_第16张图片

你可能感兴趣的:(java,maven,kettle)