在Tomcat项目中从Java执行Python脚本
我想从Java执行一个Python脚本(包括Scipy和Numpy),eclipse应该将它与tomcat项目捆绑在一起。从Java调用Python非常简单:在Tomcat项目中从Java执行Python脚本,java,python,eclipse,tomcat,Java,Python,Eclipse,Tomcat,我想从Java执行一个Python脚本(包括Scipy和Numpy),eclipse应该将它与tomcat项目捆绑在一起。从Java调用Python非常简单: Runtime.getRuntime().exec("python ..."); 如何实现绑定脚本以在相应路径调用它?这可能吗?您提到了tomcat,所以我猜您的项目在jar文件中。该文件可能无法作为文件提供给系统,但只能捆绑在jar中,因此python解释器无法访问它。您可以将内容作为InputStream获取。您可以在此处找到一个示
Runtime.getRuntime().exec("python ...");
如何实现绑定脚本以在相应路径调用它?这可能吗?您提到了tomcat,所以我猜您的项目在jar文件中。该文件可能无法作为文件提供给系统,但只能捆绑在jar中,因此python解释器无法访问它。您可以将内容作为InputStream获取。您可以在此处找到一个示例:
之后,您可以将其写入临时文件,并在
exec
调用中使用该文件。我最近做了类似的事情,我可以从eclipse运行它
我曾经和
我将两个jar(jython.jar和plyjy.jar)都保存在Eclipse项目的lib文件夹中,并将所需的python文件复制到项目的src文件夹中
然后使用以下代码创建了一个Python对象实例
PySystemObjectFactory factory = new PySystemObjectFactory(InterfaceTye, moduleName,ClassName);
在factory对象的帮助下,我们可以创建指定模块的对象并调用该特定模块的方法
我只能在eciplse中实现它,但我不确定如何为构建绑定相同的功能实际上,我希望在分发到服务器时从Eclipse和“war”文件中执行它。如何在Eclipse中绑定它?如果不需要NUMPY或SCIPY,使用jython和plyjy是一个不错的解决方案。这就是我想要与Python接口的主要原因。jython不支持这两个包。