Java Mule ESB属性文件隐藏dir.classes变量

Java Mule ESB属性文件隐藏dir.classes变量,java,swing,mule,Java,Swing,Mule,我使用内置属性${dir.classes} 像这样: <parse-template location="${dir.classes}/instruction.json.template" doc:name="Parse Template"/> 突然,流再也找不到${dir.classes},我得到了以下错误: Caused by: org.mule.api.config.ConfigurationException: Invalid bean definition

我使用内置属性
${dir.classes}

像这样:

<parse-template location="${dir.classes}/instruction.json.template" 
  doc:name="Parse Template"/>
突然,流再也找不到
${dir.classes}
,我得到了以下错误:

    Caused by: org.mule.api.config.ConfigurationException: Invalid bean definition 
      with name 'instructionFlow1' defined in null: Could not 
      resolve placeholder 'dir.classes' in string value 
      "${dir.classes}/instruction.json.template"
      (org.mule.api.lifecycle.InitialisationException) (org.mule.api.config.ConfigurationException)
        at org.mule.config.builders.AbstractConfigurationBuilder.configure(AbstractConfigurationBuilder.java:52)
        at org.mule.config.builders.AbstractResourceConfigurationBuilder.configure(AbstractResourceConfigurationBuilder.java:78)
        at org.mule.context.DefaultMuleContextFactory.createMuleContext(DefaultMuleContextFactory.java:84)
        at org.mule.module.launcher.application.DefaultMuleApplication.init(DefaultMuleApplication.java:207)

属性文件似乎隐藏了
${dir.classes}
的默认定义。不幸的是,
${dir.classes}
属性没有被MuleSoft很好地记录,也没有关于如何处理的指示。我提出的唯一选择是使用显式物理路径引用我的资源,这并不理想。

昨天也遇到了同样的问题!只要使用spring属性占位符,语法${}就会解析为该属性文件中的属性

这是有点恼人,如果你正在使用一个骡子建造的VAR,但一切都没有丢失

如果使用maven,那么src/main/resource中的任何内容都只对mule可用,因为它从这里开始查找文件

因此,只需指定如下文件路径:

<parse-template location="instruction.json.template" doc:name="Parse Template"/>


很好的解决方案。可惜Mule对Maven的支持(特别是最新版本)太垃圾了。至少它保存了显式路径。是的,我已经和它斗争了一个星期了!然而,我几乎是通过mvn运行的完整构建来解决这个问题的,mvn提供了一个可部署的zip。文档太糟糕了!
<parse-template location="instruction.json.template" doc:name="Parse Template"/>