MultipleCompilationErrorsException 在 grails 中安装 apns 插件

MultipleCompilationErrorsException installing apns plugin in grails

我试图在我的项目中实现 "Apple Push Notification Service Integration" 插件 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)

ConfigurationHolder 和其他一些静态 holder 类 已被弃用并最终被删除,因此当您尝试使用使用 holder 类 的旧插件时,您会看到这样的错误并且没有更新。 source repo had a newer version of the code that didn't use holder classes but it was still somewhat dated so I cleaned it up and sent a pull request.

我不知道作者是否或何时会发布该插件的新版本,但您可以从我的存储库构建该插件进行测试,或者由于该插件非常简单,您可以将其内联到您的应用程序中。

该插件只提供了apnsService Spring bean和它需要的jar依赖,所以另一种选择是将ApnsFactoryBean.groovy包含到你的应用程序中,将代码复制到doWithSpring 阻止 ApnsGrailsPlugin 到您的应用程序的 grails-app/conf/spring/resources.groovy,并从 BuildConfig.groovy 复制三个依赖项(apns、mina-core 和 jackson-mapper-asl,但不是版本或 rest-client-builder 插件)添加到您应用的 BuildConfig.groovy。配置将与插件文档中描述的相同。

如果您将代码复制到您的应用中,请务必遵循插件使用 GPL3 许可证所定义的要求。