我正在尝试在我的项目中实现“Apple推送通知服务集成”插件grails(http://grails.org/plugin/apns),但我收到的错误似乎是在grails中使用了一个弃用的方法。
我的问题是;有一些不同的方法可以使用这个插件?或者我该如何解决这个问题?
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
.Error
|
Fatal error during compilation org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
C:\Users\Documents\worspace\example\target\work\plugins\apns-1.0\.\ApnsGrailsPlugin.groovy: 1: unable to resolve class org.codehaus.groovy.grails.commons.ConfigurationHolder
@ line 1, column 1.
import org.codehaus.groovy.grails.commons.ConfigurationHolder
^
1 error
(Use --stacktrace to see the full trace)
答案 0 :(得分:1)
ConfigurationHolder
以及其他一些静态持有者类已弃用并最终被删除,因此当您尝试使用使用持有者类的旧插件并且尚未更新时,您会看到类似的错误。 source repo有一个较新版本的代码,它没有使用持有者类,但它仍然有点过时,所以我cleaned it up并发送了pull request。
我不知道作者是否或何时可以发布新版本的插件,但您可以从我的repo构建插件进行测试,或者由于插件非常简单,您可以将其内联到您的应用程序中。
该插件仅提供apnsService
Spring bean及其所需的jar依赖项,因此另一个选项是将ApnsFactoryBean.groovy
包含到您的应用程序中,复制doWithSpring
块中的代码在ApnsGrailsPlugin
到您应用的grails-app/conf/spring/resources.groovy
,并复制来自BuildConfig.groovy
的三个依赖项(apns,mina-core和jackson-mapper-asl,但不释放或休息-client-builder插件)到您应用的BuildConfig.groovy
。配置与插件文档中描述的相同。
如果您将代码复制到应用程序,请务必遵循插件使用GPL3许可证定义的要求。