PDI(Pentaho Kettle)Jar 文件的 Maven 依赖项

Posted

技术标签:

【中文标题】PDI(Pentaho Kettle)Jar 文件的 Maven 依赖项【英文标题】:Maven Dependency for PDI(Pentaho Kettle) Jar files 【发布时间】:2014-07-21 18:05:21 【问题描述】:

我已经编写了 Java 代码来执行我的转换和作业,并且我已经手动将 data-integration/lib 文件夹中存在的所有 Jar 文件添加到我的类路径中,并且一切工作正常。

现在我想对我的项目进行 mavenize 并寻找 XML,它为数据集成的 lib 目录中存在的每个 jar 指定 groupid 和 artifact Id。我在这里找到了link,但它们不包括所有依赖项。

PDI 版本 - 5.0.1 稳定版

【问题讨论】:

【参考方案1】:

这是我最近使用的:

<properties>
    <pentaho-kettle.version>5.4.1.8-209</pentaho-kettle.version>
</properties>

<repositories>
    <repository>
        <id>pentaho-releases</id>
        <url>http://nexus.pentaho.org/content/groups/omni</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>pentaho-kettle</groupId>
        <artifactId>kettle-core</artifactId>
        <version>$pentaho-kettle.version</version>
    </dependency>
    <dependency>
        <groupId>commons-vfs</groupId>
        <artifactId>commons-vfs</artifactId>
        <version>1.0</version>
    </dependency>
    <dependency>
        <groupId>pentaho-kettle</groupId>
        <artifactId>kettle-engine</artifactId>
        <version>$pentaho-kettle.version</version>
    </dependency>
    <dependency>
        <groupId>pentaho-kettle</groupId>
        <artifactId>kettle-ui-swt</artifactId>
        <version>$pentaho-kettle.version</version>
    </dependency>
    <dependency>
        <groupId>pentaho-library</groupId>
        <artifactId>libformula</artifactId>
        <version>$pentaho-kettle.version</version>
        <exclusions>
            <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging-api</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.codehaus.janino</groupId>
        <artifactId>janino</artifactId>
        <version>2.5.16</version>
    </dependency>
    <dependency>
        <groupId>org.mozilla</groupId>
        <artifactId>rhino</artifactId>
        <version>1.7R5</version>
    </dependency>
    <dependency>
        <groupId>javax.mail</groupId>
        <artifactId>javax.mail-api</artifactId>
        <version>1.4.7</version>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.35</version>
        <scope>runtime</scope>
    </dependency>

</dependencies>

如果使用 Json 输出步骤,您还需要这个:

    <dependency>
        <groupId>com.googlecode.json-simple</groupId>
        <artifactId>json-simple</artifactId>
        <version>1.1</version>
    </dependency>

要调用 REST 服务,您需要:

    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-client</artifactId>
        <version>1.19</version>
    </dependency>
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.5.1</version>
    </dependency>
    <dependency>
        <groupId>com.sun.jersey.contribs</groupId>
        <artifactId>jersey-apache-client</artifactId>
        <version>1.18</version>
    </dependency>
    <dependency>
        <groupId>jsonpath</groupId>
        <artifactId>jsonpath</artifactId>
        <version>1.0</version>
    </dependency>

【讨论】:

即使经过我的编辑,这也不能 100% 可靠地工作。用户定义的 Java 步骤已损坏。所以我在 github 上开始了一个项目来收集额外的修复 - github.com/atramos/PDI-Kettle-Tomcat-Spring-Maven-Demo【参考方案2】:

我找到了这个链接:

http://forums.pentaho.com/showthread.php?131872-Maven-Dependencies-for-Pentaho-DataIntegration

希望对你有帮助:)


[编辑以修改我的答案]

我已尝试将我的插件开发进行 mavenize。请查看此博客: https://anotherreeshu.wordpress.com/2014/12/29/maven-dependencies-for-building-pentaho-di-kettle-plugins/

我已经按照博客链接中的说明使用了 pom.xml。我已经为 pentaho 版本开发:5.0.0.1。尝试使用它并检查它是否可以解决您的问题:)

【讨论】:

【参考方案3】:

我只是使用它,它对我来说ok

    <repository>
        <id>pentaho-repo</id>
        <url>http://repository.pentaho.org/artifactory/repo/</url>
    </repository>

【讨论】:

【参考方案4】:

我必须添加这两个依赖项才能在 6.1.x 版本中正常工作

   <dependency>
                <groupId>org.jxls</groupId>
                <artifactId>jxls-jexcel</artifactId>
                <version>1.0.6</version>
     </dependency>

<dependency>
        <groupId>simple-jndi</groupId>
        <artifactId>simple-jndi</artifactId>
        <version>0.11.4</version>
</dependency>

【讨论】:

【参考方案5】:

这是 Gradle 版本:

 maven 
        url 'https://public.nexus.pentaho.org/content/groups/omni/'
    

【讨论】:

以上是关于PDI(Pentaho Kettle)Jar 文件的 Maven 依赖项的主要内容,如果未能解决你的问题,请参考以下文章

使用 Pentaho Kettle/PDI 将行列转换为行

Pentaho/PDI/Kettle:如何用 Excel 电子表格中的值填充“插入/更新”?

Pentaho Kettle 中的 while 循环实现

PDI 学习2:KETTLE安装,环境变量配置,开发准备

Pentaho Kettle - 从二进制类型的字段将十六进制转换为数字

如何用 Pentaho Kettle 填充我的事实表