我想从Java执行一个Python脚本(包括Scipy和Numpy),该脚本应该与eclipse的tomcat项目捆绑在一起。从Java调用Python是微不足道的:在Tomcat项目中从Java执行Python脚本
Runtime.getRuntime().exec("python ...");
我该如何实现捆绑脚本以在相应的路径上调用它?这甚至有可能吗?
我想从Java执行一个Python脚本(包括Scipy和Numpy),该脚本应该与eclipse的tomcat项目捆绑在一起。从Java调用Python是微不足道的:在Tomcat项目中从Java执行Python脚本
Runtime.getRuntime().exec("python ...");
我该如何实现捆绑脚本以在相应的路径上调用它?这甚至有可能吗?
你提到了tomcat,所以我猜你的项目是在jar文件中。该文件可能不作为文件提供给系统,但仅捆绑在您的jar文件中,所以python解释器无法访问它。您可以将内容作为InputStream获取。你可以在这里找到一个例子:
How to get path of executed jar file
之后,你可以写一个临时文件并使用该文件在您的exec
-call。
我最近做了一些类似的事情,我可以从日食中运行它。
我一直都在罐子(jython.jar和plyjy.jar)在Eclipse项目的lib文件夹并复制所需的蟒蛇文件到项目的src文件夹中。
然后用下面的代码
PySystemObjectFactory factory = new PySystemObjectFactory(InterfaceTye, moduleName,ClassName);
与工厂对象的帮助下,我们可以创建指定模块的对象,并调用该特定模块的方法创建的Python对象实例。
我能只在eciplse来实现它,但我不知道如何捆绑同为构建
如果您不需要NUMPY或SCIPY,这是jython和plyjy的一个很好的解决方案。这是我想与Python接口的主要原因。 jython不支持这两个包。 – Sney
其实我想分配给当从Eclipse和了“战争”文件的执行出来服务器。我如何将它捆绑在Eclipse中? – Sney