0
我正在使用Java和Python为后端GUI和Python使用Java的项目。 Java程序调用按钮时使用下面的代码按下一个Python脚本:从Java jar文件调用python脚本
Runtime r = Runtime.getRuntime();
String pyScript = "resources/script.py";
String scriptPath = getClass().getResource(pyScript).toExternalForm();
// Strip "file/" from path
scriptPath = scriptPath.substring(scriptPath.indexOf("/") + 1);
Process p = r.exec("python " + scriptPath)
的Python脚本位于一个名为资源,在Java项目的src文件夹文件夹中。当我在我的IDE(IntelliJ)中运行我的程序时,此代码正常工作,但是当我创建.jar文件并尝试运行该脚本时,什么都不会发生。我可以确认程序仍然在.jar文件中找到脚本。 我怎样才能让脚本运行?
插入'的System.out.println( “SCRIPTPATH:” + SCRIPTPATH);''之前r.exec(...)'。也许这给你一个提示我加 – JimHawkins
@JimHawkins一个JOptionDialog显示,当我运行jar,它位于python脚本。 –
您可以将脚本从你的src外放置。如果它是src的一部分,它被捆绑在本身是一个紧凑文件的jar文件中。一个Alrernate的方法是在运行时动态创建script.py,执行它并删除.py文件 – Aditya