java - Pentaho 数据集成用户定义的 Java 类

标签 java jar pentaho kettle data-integration

我创建简单的 java 类并将其导出到 jar:

package test;
public class Test {

    public Test() {
        // TODO Auto-generated constructor stub
    }

}

jar文件添加到Pentaho的lib文件夹中(有很多jar文件) 下一步我想在 Pentaho 数据集成中使用我的类,所以我创建了用户定义的 Java 类:

public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException
{
    test.Test t = new test.Test();
    return true;
}

当我点击测试类时,我得到以下信息:

Line 3, Column 12: Class "test.Test" not found

所以我有一个疑问:错在哪里,为什么找不到类?

最佳答案

  1. 尝试检查 /design-tools/data-integration/launcher 文件夹中的 launcher.property 文件。确保类路径和库定义了 jar 的路径。由于您已将 JAR 文件放在 lib 文件夹中,因此请查找它。

enter image description here

  1. 编辑后重新启动 Spoon,它会正常工作。

我已将代码放在 libext 文件夹中,因此我已将 :../libext 添加到类路径和库中。下面是代码片段:

enter image description here

如果仍然报错,请尝试再次检查 Java 代码。我认为那里可能出了问题。

还在 here 中记录了以上内容.

希望对您有所帮助:)

关于java - Pentaho 数据集成用户定义的 Java 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28371182/

相关文章:

java - Eclim - 将 org.eclim.java.run.mainclass 设置为什么?

java - JDBC 将 Timestamp 转换为 NULL(zeroDateTimeBehavior 问题)

amazon-web-services - Amazon Hive 中的多分隔符 SerDe 设置

java - 如何从不同的 jar 加载相同的类

java - 打包和部署 Hadoop MapReduce 作业的正确方法?

linux - Kettle - 以逗号作为小数点读取 CSV

hadoop - 尝试从HDFS读取文件时,Pentaho的 “Hadoop File Input”(勺子)始终显示错误

java - 我可以从控制台强制正在运行的 Java 应用程序进行垃圾收集吗

java - CXF/Jetty/Jax-WS 的 SSL 监听器问题 - 端口配置了错误的协议(protocol) "http"(对于 "https://0.0.0.0:9227/v1")

java - 如何使用递归返回集合的所有大小为 k 的子集?