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"/>