如何在Talend中使用Java类
我有以下三门课: 我尝试制作1和2的例程,并使用tjava从1和2调用主类和方法,但无法获取这些方法。 (一) 我在Talend中为上述代码(1)和(2)创建了例程,然后使用tjava调用该方法,但无法实现。我还尝试对所有人使用tjava,并对每个tjava都执行了onSubjob ok。如何在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
如何在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");
}
}