我已经阅读了py4j.org介绍的第一部分,然后跳到了Eclipse部分。我安装了这里找到的Eclipse:http://eclipse.py4j.org/,然后重新启动Eclipse。
我在先前存在的DateRange项目中有一个类,因此我根据说明创建了一个名为DateRangeEntryPoint的新类。这包括以下代码。
package statresearch.programs.DaypartParser;
import statresearch.programs.util.DateRange;
import py4j.GatewayServer;
public class DateRangeEntryPoint {
private DateRange dateRange;
public DateRangeEntryPoint(String startDate, String endDate, boolean includeStart, boolean includeEnd) {
dateRange = new DateRange(startDate, endDate, includeStart, includeEnd);
}
public DateRange getDateRange() {
return dateRange;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
GatewayServer gatewayServer = new GatewayServer(new DateRangeEntryPoint());
gatewayServer.start();
System.out.println("Gateway Server Started");
}}
但是,当我试图在eclipse中运行这个程序时,我会得到以下错误:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
GatewayServer cannot be resolved to a type
GatewayServer cannot be resolved to a type
The constructor DateRangeEntryPoint() is undefined at statresearch.programs.DaypartParser.DateRangeEntryPoint.main(DateRangeEntryPoint.java:22)我所坚持的是如何在Eclipse中导入py4j,以便在中利用已经在Eclipse项目中定义的对象。
发布于 2016-06-02 15:46:29
您需要在项目的构建路径上使用py4j JAR。最简单的路线可能是:
lib文件夹(如果它还不存在的话)。py4j0.x.jar从p4yj安装复制到lib文件夹中。此时,您可以查看Eclipse的问题或标记视图,以了解编译问题已经消失。当您再次运行该程序时,它应该通过“未解决的编译.”错误。
https://stackoverflow.com/questions/37596091
复制相似问题