Maven 在另一个mule项目中调用一个mule项目的流

Maven 在另一个mule项目中调用一个mule项目的流,maven,plugins,mule,mulesoft,Maven,Plugins,Mule,Mulesoft,我有一个mule项目-a,其中我需要调用另一个mule项目-B的流。我在project-B的pom中添加了mule plugin。我在project-a的pom中添加了一个project-B组Id、版本、工件Id、分类器的依赖项,并在project-a中创建了一个“import”配置,流程名为project-B,我想使用它。但是,我仍然无法调用project-A中的project-B流程,如果您要实现此功能只是为了在本地计算机中进行测试,请按照以下步骤进行操作。你也可以看看Mule Domain

我有一个mule项目-a,其中我需要调用另一个mule项目-B的流。我在project-B的pom中添加了
mule plugin
。我在project-a的pom中添加了一个project-B组Id、版本、工件Id、分类器的依赖项,并在project-a中创建了一个“import”配置,流程名为project-B,我想使用它。但是,我仍然无法调用project-A中的project-B流程,如果您要实现此功能只是为了在本地计算机中进行测试,请按照以下步骤进行操作。你也可以看看Mule Domain Project的概念,它为属于同一领域的应用程序共享资源;允许您调用其他应用程序流引用、全局配置等

注意:下面所说的所有内容都必须在Mule 4中

首先,将您的
Project-B
导出为mule可部署jar

台阶
  • 右键单击
    Project-A
    并转到->
    mule
  • 添加一个maven依赖项
  • 从本地存储库中选择您的
    Project-B
    .jar,然后 添加 这将使您的项目作为maven依赖项导入 在pom.xml文件中

  • 确保您的jar已添加到中“A”的项目库下 包资源管理器
  • 转到
    Project-A的全局元素
    并选择导入 配置
  • Import
    配置添加到元素中并指定 要在
    Project-A
    中使用的
    Project-B
    主XML文件
  • 最后刷新/重新启动主项目并检查是否可以 参考流程
  • 如果您仍然无法完成这项工作,请尝试更新到studio的最新版本,如4.3.1,这是一个非常稳定的版本

    这里给出了详细的解释->


    更新
    您也可以尝试在cloudhub运行时中执行同样的操作。要做到这一点,您不需要域项目概念。基本上,你把你的
    项目B完全导入到了项目A中;我正在使用一个域项目,而我的两个项目都属于同一个域,在这种情况下,我还需要在a中添加一个project-B的可部署jar吗?我想没有。如果您希望将其他项目完全拉入主项目,则上述方法是适用的。它基本上是将你的第二个项目作为主要项目的一部分。因此,您不能将它们视为两个独立的项目。但对于域项目来说,这基本上不是必需的。是什么阻止了您将
    project-B
    完全作为依赖项拉入
    project-a
    。毕竟,您确实在使用flow-ref调用其他项目流。Mule域项目完全充当两个松散耦合的独立项目。但是我的方法也可以在cloudhub运行时使用。我想在不将project-B的JAR添加到project-A的情况下实现这一点,因为如果我添加JAR,然后在project-B中修改一些代码,比如说我更改了流名称,因此它不会反映在project-A中,因为在创建JAR时流名称不同。Amer,如果您需要这样做,然后必须使用
    mule域项目
    。我知道你已经尝试过域项目。但是,在这方面有一些很好的文档。看看这个。尝试每一步的链接,让我知道。此外,有时,如果您只需要调用流和传输负载,那么您总是有http请求和VM队列连接器(应用程序间消息传递)