py4j.org の紹介の最初の部分を読んだ後、スキップして Eclipse セクションに進みました。http://eclipse.py4j.org/にある Eclipse プラグインをインストールし、その後 Eclipse を再起動しました。
DateRange という名前の既存の Java プロジェクトにクラスがあるので、指示に従って 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プロジェクトで既に定義されているオブジェクトをPythonで利用できるように、Eclipseにpy4jをインポートする方法です。