使用Eclipse导入py4j

时间:2016-06-02 15:26:59

标签: java python eclipse py4j

我已经阅读了py4j.org介绍的第一部分,然后我跳到了Eclipse部分。我安装了这里的Eclipse插件:http://eclipse.py4j.org/然后重新启动Eclipse。

我在预先存在的Java项目中有一个名为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,以便我可以在Python中利用已经在Eclipse项目中定义的对象。

1 个答案:

答案 0 :(得分:2)

您需要在项目的构建路径上安装py4j JAR。最简单的路线可能是:

  1. 在Eclipse项目中创建一个lib文件夹(如果它尚不存在)。
  2. py4j0.x.jar从p4yj安装复制到该lib文件夹。
  3. 在Eclipse Package Explorer(或Project Explorer)中右键单击JAR,选择构建路径> 添加到构建路径
  4. 此时您可以查看Eclipse的“问题”或“标记”视图,以查看编译问题已消失。再次运行程序时,它应该超过“未解析的编译...”错误。