如何在Talend中使用Java类

如何在Talend中使用Java类,java,talend,routines,Java,Talend,Routines,我有以下三门课: 我尝试制作1和2的例程,并使用tjava从1和2调用主类和方法,但无法获取这些方法。 (一) 我在Talend中为上述代码(1)和(2)创建了例程,然后使用tjava调用该方法,但无法实现。我还尝试对所有人使用tjava,并对每个tjava都执行了onSubjob ok。 如何在talend中调用这些类并调用方法?首先,talend中的例程类需要在例程包中 package routines; public class PageScraper { public voi

我有以下三门课: 我尝试制作1和2的例程,并使用tjava从1和2调用主类和方法,但无法获取这些方法。

(一)

我在Talend中为上述代码(1)和(2)创建了例程,然后使用tjava调用该方法,但无法实现。我还尝试对所有人使用tjava,并对每个tjava都执行了onSubjob ok。
如何在talend中调用这些类并调用方法?

首先,talend中的例程类需要在例程包中

package routines;

public class PageScraper {

    public void Scrape() {
        System.out.println("PageScraper.Scrape");

    }
}
其次,要在作业中使用它,您需要将“n”drop例程拖到打开的作业区域。

然后你就可以用这种方式使用你的类

如果您想获得更高的可重用性,您可以很容易地将包含这三个类的文件加载到jar中,或者将jar包含在您的中。

我尝试过这样做,但后来遇到了以下错误:线程“main”中出现异常java.lang.NoSuchFieldError:实例是否已将PageScraper类中的import page_scraper.UnitArray更改为import routines.UnitArray?并尝试以下操作:关闭例程,在例程中右键单击例程,然后单击编辑例程库。然后添加带有com.gargoylesoftware.htmlunit的*.jar文件,因为它不是Talend Libraries中的默认文件。我尝试过这样做,但后来发现以下错误:线程“main”java.lang.NoSuchFieldError中出现异常:INSTANCE@user1538020请检查这个和它的答案我试着加载例程,但我得到了这个错误:线程异常“main”java.lang.NoSuchFieldError:实例
package page_scraper;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;

public class UnitArray {
    public ArrayList<String> getUnitArray() {
        String csvList = "abc,xyz";
        ArrayList<String> list = new ArrayList<String>(Arrays.asList(csvList.split(",")));
        return list;
    }
}
package page_scraper;

import page_scraper.PageScraper;

public class main {
    public static void main(String[] args) throws Exception {
        PageScraper test = new PageScraper();
        test.Scrape();
    }
}
package routines;

public class PageScraper {

    public void Scrape() {
        System.out.println("PageScraper.Scrape");

    }
}