Mule:当Deployable archive移动到CloudHub时,无法找到.json文件

时间:2015-05-28 05:26:30

标签: jersey mule 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));

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

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

  

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

     

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

     

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

     

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

     

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

     

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

     

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

     

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

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

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

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

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