【问题标题】:How to integrate or embed a pyDev project into a Mule or a Java project如何将 pyDev 项目集成或嵌入到 Mule 或 Java 项目中
【发布时间】:2021-04-17 09:35:55
【问题描述】:

我最近创建了一个 pyDev 项目并运行了代码。它工作正常。

与基于 java 或 mule 的项目不同,我无法找到导出 Anypoint Studio 工作区中已有的 pyDev python 项目的选项。

我可以清楚地看到 python 解释器文件已经添加到我的 python 项目中。我希望我能以某种方式将它添加到基于 Mule 或 Java 的项目中,或者作为构建路径中的库(exe、jar),或者作为 maven 依赖项(任何可能的方式)添加。就像我们过去使用上述方法(或任何方法)将 java 项目添加到 mule 项目或将 mule 项目添加到 mule 项目一样。

在下图中,我有两个项目,一个是 encryption,这是一个基于 mule 的项目,另一个是 mule-python,这是一个基于 pyDev python 的项目。

我的目标是在前者中使用后者(即制作一个也运行 python 的 United Mule 项目)。

我需要一些过去已经尝试过这样做的人的帮助。其他没有尝试过的人的任何建议也很感激。提前致谢。

【问题讨论】:

    标签: eclipse mule pydev anypoint-studio


    【解决方案1】:

    您不能在 Eclipse 中将 Mule 项目与 Python 项目集成,因为它们由不同的 Eclipse 插件实现并且它们是完全独立的。这与不能将 C++ 项目与 Java 项目集成的原因相同。

    另一种选择是 Mule 有一个 Scripting Module,它允许使用 Java Python 实现 (jython) 在 Mule 项目中执行 Python 脚本。这有一些限制(不支持本机库,不支持 pip),但运行屏幕截图中的简单脚本应该会很好。

    【讨论】:

    • 我还是不确定。你以前是如何尝试这样做的?例如:Hawtio 插件或 jar 文件如何与 Mule 一起使用,并在端口 8080 上部署 Hawtio 浏览器以及 mule 部署(两者都在同一运行中)。但是众所周知,Hawtio 和 Active MQ 可以部署在单个 mule 项目中。以 Java 为例。如果你有一个 java 代码,你总是可以将它添加到 pom 或构建路径以与 mule 一起工作(使用 jars)。无需单独的 java 项目即可正确运行 java 代码。我们不能对 pyDev 项目做同样的事情吗?
    • Java 项目和 pyDev 项目怎么样?
    • 这是一个不同的问题。我建议搜索有关该主题的先前问题:stackoverflow.com/questions/3596098/…
    • 关于第一个问题,Mule Runtime 和 ActiveMQ 都是用 Java 开发的。将 Java 代码和 jars 添加到 Mule 应用程序项目中相对容易。支持是内置的。我不确定 Hawtio 是如何工作的,但我猜它是由 ActiveMQ 库激活的,但我很确定 Mule 并不直接知道它。 Python 是一种不同的语言。您可以使用脚本模块将 Python 脚本与您的 Mule 应用程序项目集成,以执行脚本。您可能希望在 IDE 中获得开发人员体验。我不相信与 Mule 项目集成是可能的。
    【解决方案2】:

    对于 PyDev 端,您可以通过右键单击并选择 PyDev > Set as PyDev Project 将任何项目标记为 PyDev 项目(然后您可以转到项目属性:Alt+Enter 并选择项目,选择 PyDev - PYTHONPATH 和配置要使用的 PYTHONPATH,以便您自己的文件位于要分析的源文件夹中...有关详细信息,请参阅:https://www.pydev.org/manual_101_project_conf2.html

    因此,这样做的目的是为该项目中的 Python 文件启用 PyDev 开发体验(代码完成、代码分析等)。

    现在,如何继续并与Mule 集成,实际的 Python 代码取决于您...(即:可能生成 Python 可执行文件并使用共享内存来共享数据、使用 protobuf 消息或仅使用内部 Jython 集成——我从来没有这样做过,只是分享可能的可能性)。

    【讨论】:

    • “生成 python 可执行文件和共享内存”- 最后一点让我兴奋。我还必须开始研究一次 Jython 集成。从未尝试过。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2016-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-29
    • 1970-01-01
    • 1970-01-01
    • 2017-11-25
    相关资源
    最近更新 更多