我正在研究一个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