【问题标题】:Executing Python script from Java in Tomcat project在 Tomcat 项目中从 Java 执行 Python 脚本
【发布时间】:2011-06-30 06:12:13
【问题描述】:

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

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

如何实现绑定脚本在对应路径调用?这甚至可能吗?

【问题讨论】:

    标签: java python eclipse tomcat


    【解决方案1】:

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

    How to get path of executed jar file

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

    【讨论】:

    • 实际上我想在分发到服务器时从 Eclipse 和“战争”文件中执行它。如何在 Eclipse 中捆绑它?
    【解决方案2】:

    我最近做了一些类似的事情,我可以从 eclipse 中运行它。

    我用过jythonplyjy

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

    然后使用以下代码创建了一个 Python 对象实例

    PySystemObjectFactory factory = new PySystemObjectFactory(InterfaceTye, moduleName,ClassName);
    

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

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

    【讨论】:

    • 如果您不需要 NUMPY 或 SCIPY,这是一个很好的 jython 和 plyjy 解决方案。这是我想与 Python 交互的主要原因。 jython 不支持这两个包。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-22
    • 1970-01-01
    • 2015-05-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多