如何从 Java JAR 文件调用 Python 脚本
How to call Python script from a Java JAR file
目前我正在做一个涉及Java和Python的模拟项目。
模拟器界面是用JavaSwing写的。 solver/engine写成Python.
我正在使用 Eclipse 开发项目。我使用 Process 和 Runtime 调用带有一些参数的 Python 脚本。我在 Eclipse 中使用 pydev 来 运行 Python 脚本。
现在,在我将项目导出到 JAR 文件后,Python 代码作为文件夹位于 JAR 中。显然,java 将无法再在 JVM 中调用 Python 脚本。有没有办法用JAR调用Python脚本并解析模拟结果?
Jython 可能是一个选项,但我正在尝试查看是否有更简单的方法而不需要更改原始 Python 脚本中的大量代码。
非常感谢,
威廉
Python必须配置在系统路径中:
Process p = Runtime.getRuntime().exec("python script.py");
或者这样:
ScriptEngine python = new ScriptEngineManager().getEngineByName("python");
python.eval(stringHere); # script engine runs code
- 第 1 部分:(导入 .jar 文件作为 Eclipse 中的库)
您为 Eclipse 创建了一个新项目(name:Project1)
当您 打开 它时,您会看到 JRE 系统库 [java 版本 something]
1.右键单击 JRE 系统库
2.Go->构建路径->配置构建路径
3。可以看到(右上角按钮[添加罐子或添加 外部 罐子]
*我建议您先选择(添加罐子) 但是..
*首先复制(或移动)项目里面的Python.jar((例子):项目1)
*现在您可以使用按钮添加它(添加罐子)。
*这样,当您完成项目时,Python.jar 将是
在项目中导入(如果从 Eclipse 中将其导出为 .jar)
..现在你可以调用 Python.jar 的任何方法(将其导入 class
你想使用并调用它)
让我知道这是否适合你...
第 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 后(警告!导出到 jar 后)
检查这个问题link
目前我正在做一个涉及Java和Python的模拟项目。
模拟器界面是用JavaSwing写的。 solver/engine写成Python.
我正在使用 Eclipse 开发项目。我使用 Process 和 Runtime 调用带有一些参数的 Python 脚本。我在 Eclipse 中使用 pydev 来 运行 Python 脚本。
现在,在我将项目导出到 JAR 文件后,Python 代码作为文件夹位于 JAR 中。显然,java 将无法再在 JVM 中调用 Python 脚本。有没有办法用JAR调用Python脚本并解析模拟结果?
Jython 可能是一个选项,但我正在尝试查看是否有更简单的方法而不需要更改原始 Python 脚本中的大量代码。
非常感谢, 威廉
Python必须配置在系统路径中:
Process p = Runtime.getRuntime().exec("python script.py");
或者这样:
ScriptEngine python = new ScriptEngineManager().getEngineByName("python");
python.eval(stringHere); # script engine runs code
- 第 1 部分:(导入 .jar 文件作为 Eclipse 中的库)
您为 Eclipse 创建了一个新项目(name:Project1) 当您 打开 它时,您会看到 JRE 系统库 [java 版本 something]
1.右键单击 JRE 系统库
2.Go->构建路径->配置构建路径
3。可以看到(右上角按钮[添加罐子或添加 外部 罐子]
*我建议您先选择(添加罐子) 但是..
*首先复制(或移动)项目里面的Python.jar((例子):项目1)
*现在您可以使用按钮添加它(添加罐子)。
*这样,当您完成项目时,Python.jar 将是 在项目中导入(如果从 Eclipse 中将其导出为 .jar)
..现在你可以调用 Python.jar 的任何方法(将其导入 class 你想使用并调用它)
让我知道这是否适合你...
第 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 后(警告!导出到 jar 后)
检查这个问题link