Импорт py4j с использованием Eclipse
Я прочитал первую часть введения в 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)
Я застрял в том, как импортировать py4j в Eclipse, чтобы я мог использовать в Python объекты, уже определенные в проекте Eclipse.
1 ответ
Вам нужно иметь JAR(ы) py4j на пути сборки проекта. Самый простой маршрут, вероятно,:
- Создать
lib
папка в вашем проекте Eclipse (если она еще не существует). - Скопируйте
py4j0.x.jar
из установки p4yj в этоlib
папка. - Щелкните правой кнопкой мыши JAR в Eclipse Package Explorer (или Project Explorer), выберите " Путь сборки" > " Добавить в путь сборки".
На этом этапе вы можете посмотреть на представления Eclipse "Проблемы" или "Маркеры", чтобы убедиться, что проблемы компиляции исчезли. Когда вы снова запустите программу, она должна пройти ошибку "Unresolved compilation...".