Mule:当可部署存档移动到 CloudHub 时无法找到 .json 文件

Mule: Unable to locate .json file when Deployable archive move to CloudHub

有人可以帮忙吗。我已阅读您的建议,但无法理解。我必须在 cloudhub 中读取一个 json 文件。

在我的本地存储库中,我将 .json 文件保存在 test/src/main/resources/input.json 位置。并从 Java Class

阅读

private static final String jsonFilePath = "src\main\resources\input.json";

private static final String jsonFilePath = "input.json";

.json文件位于项目的根文件夹中时

byte[] jsonFile = Files.readAllBytes(Paths.get(jsonFilePath));

MDA moved to cloud hub 时无法找到“input.json”文件,我在 cloudhub 中遇到找不到文件异常。当我打印项目目录中的所有文件时,我无法在 cloudHub 中搜索项目中的任何特定文件。

我已经在 cloudHub 中打印了我的项目目录结构中的所有文件,但我找不到“input.json”。能不能给个建议。

21:53:30.952 05/26/2015 INFO file:/home/ion-mule/muleProperties.dump

21:53:30.952 05/26/2015 INFO file:/home/ion-mule/muleLauncher.log

21:53:30.953 05/26/2015 INFO directory:/home/ion-mule/.ssh

21:53:30.953 05/26/2015 INFO file:/home/ion-mule/.bash_profile

21:53:30.954 05/26/2015 INFO file:/home/ion-mule/.ssh/authorized_keys

21:53:30.954 05/26/2015 INFO file:/home/ion-mule/.bash_logout

21:53:30.954 05/26/2015 INFO file:/home/ion-mule/muleMonitor.log

21:53:30.955 05/26/2015 INFO file:/home/ion-mule/.bashrc

我们将不胜感激。

您需要从类路径加载您的应用程序资源,而不是从与原始项目结构相关的路径。

src\main\resources 中的文件最终位于打包应用程序类路径的根目录下。因此,以下内容应该以流的形式为您提供文件内容:

Thread.currentThread().getContextClassLoader().getResourceAsStream("input.json");