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/PDI/Kettle:如何用 Excel 电子表格中的值填充“插入/更新”?