我正在使用 Java 8 和 Spring 4.3.1.RELEASE。
我有以下代码,当我将 main
作为 java 应用程序运行时,它可以工作。但是,当我将它部署到 Tomcat 服务器并有线程调用它时,出现以下错误:
错误
java.io.FileNotFoundException: src/main/resources/certificates/apns-prod-cert.p12 (No such file or directory)
代码
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
目录。使用 serviceBuilder.withCert(this.getClass().getResourceAsStream("/certificates/apns-prod -cert.p12"),CERT_PASSWORD)
关于在服务器上运行时出现 java.io.FileNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44805295/