/ / Includi il file come flusso di input in scala - scala, keystore, getresource, javapns

Includi file come flusso di input in scala - scala, keystore, getresource, javapns

Sto riscontrando problemi con l'utilizzo di un file nel mio codice. Sto lavorando con javaPNS e sto cercando di farlo funzionare. Quello che penso sia sbagliato ora è come ottengo il mio file per il parametro keystore nel metodo Push.alert in javaPNS.

Quello che mi chiedo davvero è come posso "ottenere una risorsa" correttamente in modo che abbia il formato corretto?

Ecco l'eccezione che viene generata:

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

Ed ecco come al momento includo il file:

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

Se osserviamo l'eccezione che ottengo, pensi che questo sia il problema? Come devo includere correttamente il file in Scala?

Saluti,

risposte:

2 per risposta № 1

Il problema che stai vedendo ha a che fare conil fatto che InputStream che stai caricando stia tornando come nullo. Ciò accade quando non è possibile trovare il file che si sta tentando di caricare nel percorso della classe. Prova a cambiare il codice in:

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

Noterai che ho rimosso la barra iniziale sul percorso del file poiché credo che questo sia il tuo problema. Quindi assicurati che qualunque sia la directory principale di "app" sia sul tuo percorso di classe.