我想更改bitbucket服务器存储库挂钩以进行镜像(https://github.com/ef-labs/stash-hook-mirror),然后删除原始版本并安装更新版本。
然而,在做出这样的改变之后,bitbucket开始给出 java.lang.ClassCastException
stacktrace的错误如下:
java.lang.ClassCastException: com.englishtown.bitbucket.hook.MirrorRequest cannot be cast to com.englishtown.bitbucket.hook.MirrorRequest
at com.atlassian.stash.internal.concurrent.HazelcastBucketedExecutor.schedule(HazelcastBucketedExecutor.java:63)
at com.atlassian.stash.internal.concurrent.DelegatingInternalBucketedExecutor.schedule(DelegatingInternalBucketedExecutor.java:24)
at com.englishtown.bitbucket.hook.MirrorRepositoryHook.lambda$schedulePushes$0(MirrorRepositoryHook.java:177)
at java.util.ArrayList.forEach(ArrayList.java:1259)
at com.englishtown.bitbucket.hook.MirrorRepositoryHook.schedulePushes(MirrorRepositoryHook.java:177)
at com.englishtown.bitbucket.hook.MirrorRepositoryHook.validate(MirrorRepositoryHook.java:138)
at com.atlassian.stash.internal.hook.repository.DefaultRepositoryHookService.validateSettings(DefaultRepositoryHookService.java:896)
at com.atlassian.stash.internal.hook.repository.DefaultRepositoryHookService.lambda$enable$0(DefaultRepositoryHookService.java:203)
at java.util.Optional.ifPresent(Optional.java:159)
似乎bitbucket缓存了来自插件的数据,并且在移除插件后不会清除它。这是it的一个常见问题-请参阅以下罚单:https://github.com/ef-labs/stash-hook-mirror/issues/84 或者https://github.com/ef-labs/stash-hook-mirror/issues/83
建议的解决方法是重新启动bitbucket示例,并且可以正常工作。
另一个似乎有效的解决方法是重命名类和文件,以包含一个版本作为后缀:like MirrorRepositoryHook.java
至 MirrorRepositoryHookV331.java
.
有没有更优雅的解决方案?
暂无答案!
目前还没有任何答案,快来回答吧!