Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Tomcat项目中从Java执行Python脚本_Java_Python_Eclipse_Tomcat - Fatal编程技术网

在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获取。您可以在此处找到一个示

我想从Java执行一个Python脚本(包括Scipy和Numpy),eclipse应该将它与tomcat项目捆绑在一起。从Java调用Python非常简单:

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不支持这两个包。