2

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をインポートする方法です。

4

1 に答える 1

2

プロジェクトのビルド パスに py4j JAR が必要です。最も簡単なルートはおそらく次のとおりです。

  1. Eclipse プロジェクトにフォルダーを作成しlibます (まだ存在しない場合)。
  2. py4j0.x.jarp4yj インストールからそのフォルダーにコピーしlibます。
  3. Eclipse パッケージ エクスプローラー (またはプロジェクト エクスプローラー) で JAR を右クリックし、 [ビルド パス] > [ビルド パスに追加] を選択します。

その時点で、Eclipse の Problems ビューまたは Markers ビューを見て、コンパイルの問題がなくなったことを確認できます。プログラムを再度実行すると、「未解決のコンパイル...」エラーが発生するはずです。

于 2016-06-02T15:46:29.367 に答える