[英]Can I make a jar execute a python script?
有什么方法可以在不提取jar的情况下调用jar中的脚本?
由于JAR文件是zip存档,因此您可以将单个文件解压缩到标准输出,然后通过管道传输到Python。
unzip -p your.jar file_in_jar.py | python
如果将zip文件作为参数调用,Python将解释存储在zip文件中的名为“ __main__.py”的文件。 由于jar文件是zip,因此您要做的就是将Python脚本命名为“ __main__.py”,或者创建一个“ __main__.py”脚本来导入您的主脚本,然后从Java调用Python解释器作为外部进程,将.jar文件路径作为唯一参数。 (从Python脚本中导入其他Python模块将像目录结构中的.jar文件一样工作)
然后,您可以通过管道(stdin / stdout)或使用某些客户端/服务器方法(xmlrpc,Unix命名管道等)与Python进程进行通信。
另一个选择是使用Jython(基于JVM的Python解释器),以便您可以直接从Java代码调用Python代码。有几种选择可以将Jython代码集成到Java程序中,下面介绍一些方法: http:// jythonpodcast.hostjava.net/jythonbook/en/1.0/JythonAndJavaIntegration.html#using-jython-within-java-applications
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.