有没有办法在不重启 Bitbucket 的情况下更新 Bitbucket 插件?

问题描述

我想对用于镜像的 Bitbucket 服务器存储库挂钩 (https://github.com/ef-labs/stash-hook-mirror) 进行更改,然后删除原始版本并安装更新版本。

但是,在进行此类更改后,Bitbucket 开始给出 java.lang.classCastException 错误,堆栈跟踪如下所示:

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 会缓存插件中的数据,并且在删除插件后不会清除它。这是它的一个常见问题 - 请参阅这些票证:https://github.com/ef-labs/stash-hook-mirror/issues/84https://github.com/ef-labs/stash-hook-mirror/issues/83

建议的解决方法是重新启动 BitBucket 实例,它可以工作。

另一种似乎有效的解决方法重命名类和文件以包含一个版本作为后缀:比如 MirrorRepositoryHook.javaMirrorRepositoryHookV331.java

有更优雅的解决方案吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...