2016-06-02 3 views
1

Я прочитал первую часть введения 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.

+1

Возможно, вам нужна зависимость py4j от вашего пути к классу - http://mvnrepository.com/artifact/net.sf.py4j/py4j/0.8.1 –

+1

eclipse.py4j.org - это репозиторий пакетов OSGi/Eclipse -ins. Имеет смысл использовать их только в том случае, если вы сами разрабатываете подключаемый модуль. Если это обычный Java-проект, плагины для eclipse Py4J не помогут. – Barthelemy

+1

Спасибо за ваш вопрос, хотя, я понимаю, что мне придется сделать это намного яснее в документации для новичков. – Barthelemy

ответ

2

Вам необходимо иметь py4j JAR (s) на пути построения проекта. Самый простой маршрут, вероятно,:

  1. Создайте папку lib в проекте Eclipse (если он еще не существует).
  2. Скопируйте py4j0.x.jar с установки p4yj в папку lib.
  3. Щелкните правой кнопкой мыши JAR в обозревателе пакетов Eclipse (или проводнике проекта), выберите Путь сборки>Add to Build Path.

В этот момент вы можете посмотреть виды проблем или взглядов на Eclipse, чтобы увидеть, что проблемы с компиляцией исчезли. Когда вы снова запустите программу, она должна пройти мимо ошибки «Unresolved compilation ...».

+0

Следуйте за этим: знаете ли вы, как получить доступ к проекту Eclipse в python? У меня уже есть Java-код в проекте, и мне нужно иметь возможность запускать эти классы в сценарии python. –

+0

Это совершенно отдельный вопрос: http://stackoverflow.com/q/20754129/639520 –

+0

Да, я знаю, я просто надеялся, что вы могли бы решить все мои проблемы :). Благодаря! –

Смежные вопросы