我正在研究一個Java應用程序,在該應用程序中,我編寫了一個用於執行任務的Jython腳本。該代碼正常工作,Jython腳本在通過Eclipse IDE執行時執行。 但是,當我將Java應用程序導出爲.jar文件時,Jython腳本無法運行。帶有Jython腳本的Java代碼
這是我在Eclipse IDE下面的目錄結構:
application.jar
|-- com
|--example
|-- package1
|-- Function2.Java
|-- pre_myAction.py
|-- package2
|-- Function1.Java
我想打電話從Function1.java的script_function以下列方式:
PythonInterpreter interp = new PythonInterpreter();
interp.execfile(".//com//example//pre_myAction.py");
String funcName = "function1";
PyObject someFunc = interp.get(funcName);
if (someFunc == null) {
throw new Exception("Could not find Python function: " + funcName);
}
try {
interp.set("DataMap", dataMap);
someFunc.__call__(new PyString(file1));
} catch (PyException e1) {
LOGGER.log(Level.SEVERE, e1.getMessage());
}
interp.cleanup();
interp.close();
當我試圖從命令提示符執行jar我得到這個錯誤:
File not found -//com//example//pre_myAction.py
An d相同的代碼在Eclipse IDE中執行時沒有任何錯誤。
任何人都可以提供關於如何在jar文件中執行jython腳本的解決方案或建議。
「不運行」不會讓我們繼續下去。什麼是錯誤信息? 你是如何調用Jar的?你是否能夠以同樣的方式運行簡單的Jython腳本? – dimo414
當您在命令行上運行該jar時 - 是否爲jython啓用java?順便說一句:你的代碼「示例」不包含任何代碼。 – GhostCat
它看起來像pre_myAction.py在com/example/package1中,而不是com/example。爲什麼這將在Eclipse IDK中起作用。編輯:沒關係,我想我明白了。 – jaxad0127