最简单的事情是
- 为您的Java“函数”编写一个简单的CLI。(没有这样的东西,所以我假设您实际上是指Java类的方法功能。)
public class ExposeAMethod { public static void main( String args[] ) { TheClassToExpose x = new TheClassToExpose(); x.theFunction(); } }以此为入口编译并构建可执行的JAR文件。称它为
ExposeAMethod.jar
从子流程创建的命令中调用它。
import subprocess p = subprocess.Popen("java -jar ExposeAMethod.jar", shell=True) sts = os.waitpid(p.pid, 0)这是最低要求。而且确实不多。我数了6行Java,3行Python,您就可以运行了。
如果要将参数传递给此Java类构造函数或方法函数,则必须再编写几行代码。您有两种选择。
从stdin读取参数,将结果写入stdout。这是相对容易的,并且性能非常好。
将参数解析为Java的命令行选项,然后将结果写入stdout。这有点困难,但概括性很好。好处是,您现在拥有一个可以重复使用的有用的命令行Java程序。



