无法在 Mule 独立服务器中读取文件

Fail to Read File In Mule Standalone Server

您好,我正在使用 Mule 独立服务器,当我将我的应用程序作为 ZIP 部署到独立服务器时,如 Mule Website Deployment Structure 中所述。在我的项目结构中,我有一个文件 src/main/resources/myfolder/myfile.xml

当我使用 System.getProperty("user.dir") 从 Anypoint Studio 读取此文件时,它工作正常。

当我阅读在独立服务器中部署相同内容时,它抛出文件未找到异常,因为它们的 System.getProperty("user.dir") 返回到文件不存在的 bin \Java\MuleStandAlone\bin.

所以要部署到 Mule Standalone,我将在其中放置我的文件以便我可以阅读。

src/main/resources 下的文件将从类路径中获得,因此没有理由查找根目录。 只需从类路径中将其读取为 "myfolder/myfile.xml".

例如:

<set-payload value="#[Thread.currentThread().getContextClassLoader().getResourceAsStream('myfolder/myfile.xml')]" />

我已经尝试过 Ryan Carter 在答案中提到的方法对我有用,并且将路径读取为 String 而不是 Stream 也对我有用。

String path= MyClass.class.getClassLoader().getResource("myfolder/myfile.xml").getPath();