Pentaho Maven 依赖项

Pentaho Maven Dependencies

我最近更新了一个项目以使用 scala 并决定将我的依赖项包括使用 Kettle 的 ETL 过程从 Pentaho 5.4 移动到 Maven 到。但是,当我使用 javascript 进行 运行 转换时,我不断收到错误消息,告诉我函数不存在。我的具体错误如下。如何使用 Maven 适当地转换为 运行 JS?

Pentaho 的当前 POM 依赖项

       <dependency>
          <groupId>pentaho-kettle</groupId>
          <artifactId>kettle-core</artifactId>
          <version>5.4.0.4-149</version>
        </dependency>
         <dependency>
          <groupId>pentaho-kettle</groupId>
          <artifactId>kettle-db</artifactId>
          <version>4.4.3.5-C183</version>
        </dependency>
        <dependency>
          <groupId>pentaho-kettle</groupId>
          <artifactId>kettle-ui-swt</artifactId>
          <version>5.4.0.4-149</version>
        </dependency>
        <dependency>
          <groupId>pentaho-kettle</groupId>
          <artifactId>kettle-engine</artifactId>
          <version>5.4.0.4-149</version>
        </dependency>
         <dependency>
          <groupId>pentaho-kettle</groupId>
          <artifactId>kettle-dbdialog</artifactId>
          <version>5.4.0.4-149</version>
        </dependency>
        <dependency>
          <groupId>pentaho-library</groupId>
          <artifactId>libformula</artifactId>
          <version>5.4.0.1-130</version>
        </dependency>
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>9.4-1202-jdbc42</version>
        </dependency>
        <dependency>
            <groupId>pentaho-library</groupId>
            <artifactId>libformula</artifactId>
            <version>5.4.0.1-130</version>
        </dependency>
        <dependency>
            <groupId>rhino</groupId>
            <artifactId>js</artifactId>
            <version>1.7R3</version>
       </dependency>
       <dependency>
            <groupId>org.codehaus.janino</groupId>
            <artifactId>janino</artifactId>
            <version>2.5.16</version>
       </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-vfs2</artifactId>
            <version>2.0</version>
        </dependency>
        <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>javax.mail-api</artifactId>
            <version>1.5.4</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <version>1.7.12</version>
       </dependency>

错误

[main] INFO com.hygenics.parser.MainApp - Beginning Kettle Transformation @ Wed Sep 23 17:44:52 MDT 2015
[main] INFO com.hygenics.parser.MainApp - Starting ktr PATH: /home/aevans/scrape/Pentaho/CACRIMCIVIL/Yolo/us_ca_yolo_aoc_clean_recors.ktr @ Wed Sep 23 17:44:59 MDT 2015
2015/09/23 17:45:05 - us_ca_yolo_aoc_clean_recors - Dispatching started for transformation [us_ca_yolo_aoc_clean_recors]
2015/09/23 17:45:08 - Table output 2.0 - Connected to database [scrape_production] (commit=1000)
2015/09/23 17:45:08 - Table output 3.0 - Connected to database [scrape_production] (commit=1000)
2015/09/23 17:45:08 - Table output.0 - Connected to database [scrape_production] (commit=1000)
2015/09/23 17:45:08 - Table output 4.0 - Connected to database [scrape_production] (commit=1000)
2015/09/23 17:45:11 - Table input.0 - Finished reading query, closing connection.
2015/09/23 17:45:12 - dt.0 - Finished processing (I=0, O=0, R=4729, W=4729, U=0, E=0)
2015/09/23 17:45:12 - Table input.0 - Finished processing (I=4729, O=0, R=0, W=4729, U=0, E=0)
2015/09/23 17:45:12 - Replace in string.0 - Finished processing (I=0, O=0, R=4729, W=4729, U=0, E=0)
2015/09/23 17:45:12 - Filter rows.0 - Finished processing (I=0, O=0, R=4729, W=4729, U=0, E=0)
2015/09/23 17:45:12 - String operations.0 - Finished processing (I=0, O=0, R=4729, W=4729, U=0, E=0)
java.lang.NoSuchMethodError: org.mozilla.javascript.ContextFactory.enterContext()Lorg/mozilla/javascript/Context;
    at org.pentaho.di.trans.steps.scriptvalues_mod.ScriptValuesMod.addValues(ScriptValuesMod.java:178)
    at org.pentaho.di.trans.steps.scriptvalues_mod.ScriptValuesMod.processRow(ScriptValuesMod.java:540)
    at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)
    at java.lang.Thread.run(Thread.java:745)
2015/09/23 17:45:12 - dno.0 - ERROR (version 5.4.0.4-149, build 1 from 2015-09-17 09.58.29 by buildguy) : Unexpected error
2015/09/23 17:45:12 - dno.0 - ERROR (version 5.4.0.4-149, build 1 from 2015-09-17 09.58.29 by buildguy) : java.lang.NoSuchMethodError: org.mozilla.javascript.ContextFactory.enterContext()Lorg/mozilla/javascript/Context;
2015/09/23 17:45:12 - dno.0 -   at org.pentaho.di.trans.steps.scriptvalues_mod.ScriptValuesMod.addValues(ScriptValuesMod.java:178)
2015/09/23 17:45:12 - dno.0 -   at org.pentaho.di.trans.steps.scriptvalues_mod.ScriptValuesMod.processRow(ScriptValuesMod.java:540)
2015/09/23 17:45:12 - dno.0 -   at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)
2015/09/23 17:45:12 - dno.0 -   at java.lang.Thread.run(Thread.java:745)
child index = 6, logging object : org.pentaho.di.core.logging.LoggingObject@46e1bfda parent=f052f9e5-896e-4fdd-9a6a-12f3b3334ed3
2015/09/23 17:45:12 - dno.0 - Finished processing (I=0, O=0, R=1, W=0, U=0, E=1)
2015/09/23 17:45:12 - us_ca_yolo_aoc_clean_recors - Transformation detected one or more steps with errors.
2015/09/23 17:45:12 - us_ca_yolo_aoc_clean_recors - Transformation is killing the other steps!
2015/09/23 17:45:13 - us_ca_yolo_aoc_clean_recors - ERROR (version 5.4.0.4-149, build 1 from 2015-09-17 09.58.29 by buildguy) : Errors detected!
[main] INFO com.hygenics.parser.MainApp - ERROR IN PENTAHO
2015/09/23 17:45:13 - us_ca_yolo_aoc_clean_recors - ERROR (version 5.4.0.4-149, build 1 from 2015-09-17 09.58.29 by buildguy) : Errors detected!
[main] INFO com.hygenics.parser.MainApp - Transformation Returned: 1 @Wed Sep 23 17:45:13 MDT 2015
[main] INFO com.hygenics.parser.MainApp - Kettle Complete: Cleaning Up
[main] INFO com.hygenics.parser.MainApp - Transformation Complete @ Wed Sep 23 17:45:14 MDT 2015
[main] INFO com.hygenics.parser.MainApp - Ending Kettle Transformation @ Wed Sep 23 17:45:14 MDT 2015
[main] INFO com.hygenics.parser.MainApp - Free Memory: 117241936
[main] INFO com.hygenics.parser.MainApp - Completed Parse @ Wed Sep 23 17:45:14 MDT 2015

我只是想把它记下来,因为我讨厌回答我自己的问题,但这对我自己来说是一个持续存在的问题,而且实际上已经出现在 Pentaho 票务系统中而没有解决。答案是删除通过 Kettle-core 依赖项下载的某个 jar。显然,Batik-js 会导致问题。

<dependency>
          <groupId>pentaho-kettle</groupId>
          <artifactId>kettle-core</artifactId>
          <version>5.4.0.4-149</version>
          <exclusions>
            <exclusion>
                    <groupId>org.apache.xmlgraphics</groupId>
                    <artifactId>batik-js</artifactId>
            </exclusion>
          </exclusions>
        </dependency>