1
필자는 Python + Java 통합 코드를 작성하기 위해이 링크에서 작성된 샘플을 가져 왔습니다.Jython/Java 코드에서 Python 패키지 경로를 제공하는 방법은 무엇입니까?
http://www.jython.org/jythonbook/en/1.0/JythonAndJavaIntegration.html
코드는 다음과 같습니다.
package org.jython.book.interfaces;
import org.jython.book.interfaces.JythonObjectFactory;
import org.python.core.Py;
import org.python.core.PyString;
import org.python.core.PySystemState;
public class Main {
public static void main(String args[]) {
String projDir = System.getProperty("user.dir");
String rootPath = projDir + "/src/org/jython/book/interfaces/";
String modulesDir = projDir + "/src/org/jython/book/interfaces/";
System.out.println("Project dir: " + projDir);
PySystemState sysSt = Py.getSystemState();
JythonObjectFactory factory = new JythonObjectFactory(sysSt, BuildingType.class, "Building", "Building");
BuildingType building = (BuildingType) factory.createObject();
building.setBuildingName("BUIDING-A");
building.setBuildingAddress("100 MAIN ST.");
building.setBuildingId(1);
System.out.println(building.getBuildingId() + " " +
building.getBuildingName() + " " +
building.getBuildingAddress());
}
}
이 코드를 실행하면 python 모듈을 찾지 못했다는 오류가 발생합니다. .py 및 .pyc 파일을 'modulesDir'로 제공된 경로 아래에 보관했습니다.
"the requested module must be contained somewhere on the sys.path"
; 그러나이 Java 프로그램에서이 설정 방법을 이해하지 못했습니다. 누군가 도움을 줄 수 있습니까?
Project dir: /Users/eclipsews/PythonJava
Exception in thread "main" ImportError: No module named Building