1.从Kettle官网下载源码,本文使用的是pentaho-kettle-8.2.0.0-Rjava
下载地址:https://codeload.github.com/pentaho/pentaho-kettle/zip/8.2.0.0-Rlinux
2.打开eclipse,选择一个新的工做空间,而后设置maven的信息,settings.xml使用官方提供的配置文件点击下载。下载能够根据须要设置本身本地仓库的存储路径。git
由于为引入kettle项目源码的时候,会去默认的maven仓库地址下载项目构建所需的依赖,但这些依赖只在Kettle官方的仓库有,因此先配置好kettle的maven仓库地址。github
3.引入已存在的maven项目,将解压后的kettle源码引入工做空间,以下图所示选择全部的项目apache
4.修改pom.xml中swt版本信息,官方的源码在linux系统中开发的,若在windows系统或其余系统中开发时须要更换为相应的swt版本,本文在在windows环境中开发。windows
工做空间全文搜索“<artifactId>org.eclipse.swt.gtk.linux.x86_64</artifactId>”更改成“ <artifactId>org.eclipse.swt.win32.win32.x86_64</artifactId>”app
修改前eclipse
修改后maven
5.配置maven的Lifecycle Mappings
项目导入会存在不少如下错误,须要配置Lifecycle Mappings解决此问题ui
解决方法以下图:
lifecycle-mapping-metadata.xml文件内容:
<?xml version="1.0" encoding="UTF-8"?> <lifecycleMappingMetadata> <pluginExecutions> <pluginExecution> <pluginExecutionFilter> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <goals> <goal>create-timestamp</goal> </goals> <versionRange>[0.0,)</versionRange> </pluginExecutionFilter> <action> <ignore /> </action> </pluginExecution> <pluginExecution> <pluginExecutionFilter> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <goals> <goal>list</goal> </goals> <versionRange>[0.0,)</versionRange> </pluginExecutionFilter> <action> <ignore /> </action> </pluginExecution> <pluginExecution> <pluginExecutionFilter> <groupId>org.zeroturnaround</groupId> <artifactId>jrebel-maven-plugin</artifactId> <goals> <goal>generate</goal> </goals> <versionRange>[0.0,)</versionRange> </pluginExecutionFilter> <action> <ignore /> </action> </pluginExecution> <pluginExecution> <pluginExecutionFilter> <groupId>org.codehaus.mojo</groupId> <artifactId>gwt-maven-plugin</artifactId> <goals> <goal>compile</goal> </goals> <versionRange>[0.0,)</versionRange> </pluginExecutionFilter> <action> <ignore /> </action> </pluginExecution> <pluginExecution> <pluginExecutionFilter> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <goals> <goal>copy-dependencies</goal> <goal>unpack</goal> </goals> <versionRange>[0.0,)</versionRange> </pluginExecutionFilter> <action> <ignore /> </action> </pluginExecution> <pluginExecution> <pluginExecutionFilter> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-remote-resources-plugin</artifactId> <goals> <goal>bundle</goal> </goals> <versionRange>[1.5,)</versionRange> </pluginExecutionFilter> <action> <ignore /> </action> </pluginExecution> <pluginExecution> <pluginExecutionFilter> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <goals> <goal>add-resource</goal> <goal>parse-version</goal> </goals> <versionRange>[1.9.1,)</versionRange> </pluginExecutionFilter> <action> <ignore /> </action> </pluginExecution> <pluginExecution> <pluginExecutionFilter> <groupId>org.commonjava.maven.plugins</groupId> <artifactId>directory-maven-plugin</artifactId> <goals> <goal>highest-basedir</goal> </goals> <versionRange>[0.1,)</versionRange> </pluginExecutionFilter> <action> <ignore /> </action> </pluginExecution> <pluginExecution> <pluginExecutionFilter> <groupId>org.pentaho.maven.plugins</groupId> <artifactId>license-helper-maven-plugin</artifactId> <goals> <goal>check-license</goal> <goal>bundle</goal> </goals> <versionRange>[1.5,)</versionRange> </pluginExecutionFilter> <action> <ignore /> </action> </pluginExecution> <pluginExecution> <pluginExecutionFilter> <groupId>com.soebes.maven.plugins</groupId> <artifactId>iterator-maven-plugin</artifactId> <goals> <goal>iterator</goal> <goal>bundle</goal> </goals> <versionRange>[0.4,)</versionRange> </pluginExecutionFilter> <action> <ignore /> </action> </pluginExecution> <pluginExecution> <pluginExecutionFilter> <groupId>org.apache.karaf.tooling</groupId> <artifactId>karaf-maven-plugin</artifactId> <goals> <goal>features-generate-descriptor</goal> </goals> <versionRange>[3.0.3,)</versionRange> </pluginExecutionFilter> <action> <ignore /> </action> </pluginExecution> <pluginExecution> <pluginExecutionFilter> <groupId>com.google.code.maven-replacer-plugin</groupId> <artifactId>replacer</artifactId> <goals> <goal>replace</goal> </goals> <versionRange>[1.5.2,)</versionRange> </pluginExecutionFilter> <action> <ignore /> </action> </pluginExecution> </pluginExecutions> </lifecycleMappingMetadata>
6.将pentaho-kettle-8.2.0.0-R\assemblies\static\src\main\resources\ui下的文件复制一下粘贴到pentaho-kettle-8.2.0.0-R\ui\src\main\resources\ui文件夹下
7.执行maven clean install,而后运行org.pentaho.di.ui.spoon.Spoon
调整完毕的源码代码地址:https://gitee.com/gq2010/pentaho-kettle-8.2.0.0-R