当我通过AnyPoint设置file
属性of db:parameterized-query
时,我得到了一台本地机器的路径。我在我的项目中有src/main/resources
中的文件,但我无法弄清楚如何引用它或通过类路径相对。我尝试了classpath:myquery.sql
这样的内容,但我不断获得Unable to read query from file
。
这是我的配置:
<db:template-query name="my-query-template" doc:name="Template Query">
<db:parameterized-query file="how-do-i-get-to/myquery.sql"/>
</db:template-query>
如何从类路径加载文件?
答案 0 :(得分:0)
默认情况下,当我们从文件中选择模板时,位置将填充绝对路径。它指的是本地机器,例如:C:\MuleSoft\Project\src\main\resources\myquery.sql
要从类路径加载文件,无论在何处部署,都只需保留主路径:<db:parameterized-query file="src\main\resources\myquery.sql"/>
答案 1 :(得分:0)
尝试
${app.home}/classes/myquery.sql
在构建zip时,放入src / main / resources的所有文件都会被复制到classes文件夹中。 这里app.home引用构建的根位置,您不需要显式创建此变量。
希望这有帮助!!