Ios Grails:在生产中的web应用程序上查找文件
我在grails项目的web应用中有一个文件。。在某些apns插件的配置文件中,将配置如下所示Ios Grails:在生产中的web应用程序上查找文件,ios,grails,apple-push-notifications,grails-config,Ios,Grails,Apple Push Notifications,Grails Config,我在grails项目的web应用中有一个文件。。在某些apns插件的配置文件中,将配置如下所示 environments { development { apns { pathToCertificate = "web-app/apns-dev.p12" password = "password" environment = "sandbox" } } test
environments {
development {
apns {
pathToCertificate = "web-app/apns-dev.p12"
password = "password"
environment = "sandbox"
}
}
test {
apns {
pathToCertificate = "web-app/apns-dev.p12"
password = "password"
environment = "sandbox"
}
}
production {
apns {
pathToCertificate = "apns-prod.p12"
password = "password"
environment = "production"
}
}
}
我之所以将生产p12放在没有“web app”的位置,是因为我注意到生产上的文件直接位于根目录下,但它给了我fileNotFoundException。。那我怎么才能找到它呢?各州
如果您无权访问服务器的文件系统,还可以将pathToCertificate替换为certificateResourcePath,并将其设置为证书的路径(相对于src/java)。例如,如果您的证书位于src/java/mycert.p12中,则可以设置certificateResourcePath=mycert.p12
这可能是您的最佳选择,它允许您使用相对于src/java的路径,而不是绝对路径。这里有一种(稍微有点粗糙的)获取文件绝对路径的方法:
首先,将文件放在classpath
的某个地方(例如conf
目录中的“resources”目录)。然后,将路径证书
行更改为:
pathToCertificate = ApplicationHolder.application.parentContext.getResource("classpath:resources/apns-dev.p12").file.absolutePath
它应该解析为文件系统中该文件的绝对路径 不行。。我希望我们有一种方法来获得绝对路径,因为它在编译时给了我错误|错误错误打包应用程序:错误加载Config.groovy:没有方法签名:groovy.util.ConfigObject.getResource()适用于参数类型:(java.lang.String)值:[classpath:web-app/web-INF/apns-dev.p12]