0

我在代码中使用文件时遇到问题。我正在使用 javaPNS 并试图让它工作。我现在认为错误的是我如何在 javaPNS 的 Push.alert 方法中获取密钥库参数的文件。

我真正想知道的是如何正确“获取资源”以使其具有正确的格式?

这是引发的异常:

javapns.communication.exceptions.InvalidKeystoreReferenceException:
Invalid keystore parameter (null).  Must be InputStream, File, String (as a file path),
or byte[].
at........

这是我目前包含该文件的方式:

val keystoreFile = getClass.getResourceAsStream("/app/conf/cert.p12")

如果我们看看我得到的异常,你认为上面的问题是什么?我应该如何在 Scala 中正确包含文件?

问候,

4

1 回答 1

2

您看到的问题与您正在加载的 InputStream 返回为空的事实有关。当您尝试加载的文件在类路径中找不到时,就会发生这种情况。尝试将您的代码更改为:

getClass.getClassLoader.getResourceAsStream("app/conf/cert.p12")

您会注意到我删除了文件路径上的前导斜杠,因为我相信这是您的问题。然后只需确保“app”的父目录在您的类路径上。

于 2013-07-18T10:56:20.533 回答