我正在开发一个使用Java的项目,但是使用Py4J实现了一个Python包装器。为了使它正常工作,我需要首先使用正确的命令行参数运行Java服务器(称之为Main.java
),一旦服务器初始化,我需要在其上运行我自己的Python脚本(称之为{ {1}})。
Script.py
是我要发出初始化完成信号的地方:
Main.java
目前我只是使用以下AHK脚本public class Main {
...
public void initialize() {
// Server initialization code
signalInitializationDone();
}
}
:
Run.ahk
但是这当然只有在初始化完成2秒后才有效,如果初始化完成得更快,它也会不必要地闲置。我想在Run, javaw Main --py4j
Sleep, 2000
Run, python .\python\Script.py
完成后立即运行Script.py
。
我不能做的一件事是:
Main.initialize()
或类似的从Java应用程序内部直接调用python脚本,因为同一服务器也可以与其他脚本一起运行,甚至可以作为独立脚本运行。
我也没有使用AHK,任何可行的解决方案(AHK,Batch,Python,Java)都没问题。