【发布时间】:2017-06-28 14:24:10
【问题描述】:
我正在使用带有 Spring 4.3.1.RELEASE 的 Java 8。
我有以下代码,当我将 main 作为 java 应用程序运行时,它可以工作。但是,当我将它部署到 Tomcat 服务器并有一个线程调用它时,我收到以下错误:
错误
java.io.FileNotFoundException: src/main/resources/certificates/apns-prod-cert.p12(没有这样的文件或目录)
代码
private static String PATH_TO_P12_CERT = "src/main/resources/certificates/apns-prod-cert.p12";
private String sendIOSPushNotification(String device_token, String topics, String title, String message)
throws Exception {
ApnsServiceBuilder serviceBuilder = APNS.newService();
serviceBuilder.withCert(PATH_TO_P12_CERT, CERT_PASSWORD)
.withProductionDestination();
ApnsService service = serviceBuilder.build();
String payload = APNS.newPayload()
.alertBody(message)
.alertTitle(title)
.sound("default")
.customField("custom", "custom value").build();
service.push(device_token, payload);
return "iOS Push Notification: " + title + " " + message;
}
问题
如何定义apns-prod-cert.p12 的路径?
谢谢
更新
更新
【问题讨论】:
-
如果您在 IDE 之外运行代码,则没有
/src/main/resources目录。使用this.getClass().getResourceAsStream("/certificates/apns-prod-cert.p12") -
那我应该通过
/certificates/apns-prod-cert.p12引用它吗? -
在典型的 WAR 环境(部署到 Tomcat)中,甚至没有 文件。