目前我正在开发一个涉及Java和Python的模拟项目。
模拟器接口是用Java Swing编写的。解算器/引擎是用Python编写的。
我使用Eclipse开发项目。我使用Process和Runtime用一些参数调用Python Script。我在Eclipse中使用pydev来运行Python脚本。
现在,在将项目导出到JAR文件之后,Python代码作为文件夹位于JAR内部。显然,java不再能够在JVM中调用Python脚本了。有没有办法使用JAR调用Python脚本并解析模拟结果?
Jython可能是一个选项,但我试图看看是否有更简单的方法,而无需更改原始Python脚本中的大量代码。
非常感谢, 威廉
答案 0 :(得分:1)
必须在系统路径中配置Python:
Process p = Runtime.getRuntime().exec("python script.py");
或者这个:
ScriptEngine python = new ScriptEngineManager().getEngineByName("python");
python.eval(stringHere); # script engine runs code
答案 1 :(得分:0)
为Eclipse创建一个新项目(名称:Project1) 当您打开时,您会看到 JRE系统库[java版本的东西]
1 。右键单击 JRE系统库2 .Go-> 构建路径 - > 配置构建路径
3 。您可以看到( 右上角 按钮[ 添加广告 或添加 外部 jars ]
*我建议您选择优先(添加罐子)但是..
*首先复制(或移动)项目中的 Python.jar ((示例):项目1)
*现在您可以使用按钮添加它(添加广告)。
*这样,当你完成项目时,Python.jar将会是 在项目中导入(如果从Eclipse导出为.jar)
..现在你可以调用 Python.jar 的任何方法(将它导入类中) 你想使用并调用它)
如果这对您有用,请告诉我......
第2部分:
运行在eclipse项目中的文件(警告!在将其导出到jar之前):
1.Way(遵循文件路径)
try {
Runtime.getRuntime().exec("cmd /c start C:/NameOfEclipseProject/Project/src/pack(Package)/script.py");
} catch (IOException e) { e.printStackTrace(); }
2.i将很快添加它们。(自从我使用它们以来一直试图找到它)
将项目导出到jar
检查此问题link