在Tomcat项目中从Java执行Python脚本

时间:2011-06-30 06:12:13

标签: java python eclipse tomcat

我想从Java执行一个Python脚本(包括Scipy和Numpy),它应该与eclipse的tomcat项目捆绑在一起。从Java调用Python是微不足道的:

Runtime.getRuntime().exec("python ...");

如何实现捆绑脚本以在相应路径上调用它?这甚至可能吗?

2 个答案:

答案 0 :(得分:1)

你提到tomcat,所以我猜你的项目是在一个jar文件中。该文件可能无法作为文件提供给系统,但只捆绑在jar中,因此python解释器无法访问它。您可以将内容作为InputStream获取。你可以在这里找到一个例子:

How to get path of executed jar file

之后,您可以将其写入临时文件并在exec - 呼叫中使用该文件。

答案 1 :(得分:1)

我最近做了一些相似的事情,我能够从日食中运行它。

我使用了jythonplyjy

我将两个jar(jython.jar和plyjy.jar)保存在Eclipse项目的lib文件夹中,并将所需的python文件复制到项目的src文件夹中。

然后使用以下代码

创建了一个Python对象实例
PySystemObjectFactory factory = new PySystemObjectFactory(InterfaceTye, moduleName,ClassName);

在工厂对象的帮助下,我们可以创建指定模块的对象并调用该特定模块的方法。

我只能在eciplse中实现它,但我不确定如何为构建捆绑相同