Я прочитал первую часть введения py4j.org, затем перешел в раздел Eclipse. Я установил плагины Eclipse, найденные здесь: http://eclipse.py4j.org/ и затем перезапустил Eclipse.Импорт py4j с использованием 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");
}
}
Но, когда я пытаюсь запустить это затмение, я получаю следующее сообщение об ошибке:
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.
Возможно, вам нужна зависимость py4j от вашего пути к классу - http://mvnrepository.com/artifact/net.sf.py4j/py4j/0.8.1 –
eclipse.py4j.org - это репозиторий пакетов OSGi/Eclipse -ins. Имеет смысл использовать их только в том случае, если вы сами разрабатываете подключаемый модуль. Если это обычный Java-проект, плагины для eclipse Py4J не помогут. – Barthelemy
Спасибо за ваш вопрос, хотя, я понимаю, что мне придется сделать это намного яснее в документации для новичков. – Barthelemy