[halo-dev/halo]当安装的插件有问题时,无法再正常安装插件

2024-03-18 94 views
3
是什么版本出现了此问题?

2.4.2

使用的什么数据库?

H2

使用的哪种方式部署?

Docker

在线站点地址

https://ryanc.cc

发生了什么?

复现步骤:

  1. 使用一个 plugin.yaml 文件字段不完整的插件,比如:https://github.com/halo-sigs/plugin-oauth2/releases/download/v1.0.1/plugin-oauth2-1.0.1.jar
  2. 提示 Schema 不正常,无法安装。
  3. 再安装一个正常的插件,比如:https://github.com/halo-sigs/plugin-oauth2/releases/download/v1.0.2/plugin-oauth2-1.0.2.jar
  4. 这个时候可以正常安装,但状态不正确。 image
  5. 卸载之后重新安装也无法解决。

经过初步排查是因为没有清理掉异常的插件 jar 文件。

image

/kind bug /area core

相关日志输出
halo  | 2023-04-08T00:10:14.683+08:00 ERROR 7 --- [nReconciler-t-1] r.h.a.e.controller.DefaultController     : Reconciler in run.halo.app.core.extension.reconciler.PluginReconciler-worker-1 aborted with an error, re-enqueuing...
halo  |
halo  | org.pf4j.PluginRuntimeException: Field 'version' cannot be empty
halo  |     at org.pf4j.AbstractPluginManager.validatePluginDescriptor(AbstractPluginManager.java:922) ~[pf4j-3.9.0.jar:3.9.0]
halo  |     at org.pf4j.AbstractPluginManager.loadPluginFromPath(AbstractPluginManager.java:830) ~[pf4j-3.9.0.jar:3.9.0]
halo  |     at org.pf4j.DefaultPluginManager.loadPluginFromPath(DefaultPluginManager.java:139) ~[pf4j-3.9.0.jar:3.9.0]
halo  |     at run.halo.app.plugin.HaloPluginManager.loadPluginFromPath(HaloPluginManager.java:391) ~[classes/:2.4.2]
halo  |     at org.pf4j.AbstractPluginManager.loadPlugin(AbstractPluginManager.java:201) ~[pf4j-3.9.0.jar:3.9.0]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.lambda$ensurePluginLoaded$17(PluginReconciler.java:482) ~[classes/:2.4.2]
halo  |     at java.base/java.util.ArrayList.forEach(Unknown Source) ~[na:na]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.ensurePluginLoaded(PluginReconciler.java:480) ~[classes/:2.4.2]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.getPluginWrapper(PluginReconciler.java:309) ~[classes/:2.4.2]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.lambda$readinessDetection$1(PluginReconciler.java:116) ~[classes/:2.4.2]
halo  |     at java.base/java.util.Optional.map(Unknown Source) ~[na:na]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.readinessDetection(PluginReconciler.java:106) ~[classes/:2.4.2]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.lambda$reconcile$0(PluginReconciler.java:94) ~[classes/:2.4.2]
halo  |     at java.base/java.util.Optional.map(Unknown Source) ~[na:na]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.reconcile(PluginReconciler.java:86) ~[classes/:2.4.2]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.reconcile(PluginReconciler.java:69) ~[classes/:2.4.2]
halo  |     at run.halo.app.extension.controller.DefaultController$Worker.run(DefaultController.java:163) ~[api-2.4.2.jar:na]
halo  |     at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[na:na]
halo  |     at java.base/java.util.concurrent.FutureTask.run(Unknown Source) ~[na:na]
halo  |     at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[na:na]
halo  |     at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[na:na]
halo  |     at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
halo  |
halo  | 2023-04-08T00:10:15.345+08:00 ERROR 7 --- [nReconciler-t-1] r.h.a.e.controller.DefaultController     : Reconciler in run.halo.app.core.extension.reconciler.PluginReconciler-worker-1 aborted with an error, re-enqueuing...
halo  |
halo  | org.pf4j.PluginRuntimeException: Field 'version' cannot be empty
halo  |     at org.pf4j.AbstractPluginManager.validatePluginDescriptor(AbstractPluginManager.java:922) ~[pf4j-3.9.0.jar:3.9.0]
halo  |     at org.pf4j.AbstractPluginManager.loadPluginFromPath(AbstractPluginManager.java:830) ~[pf4j-3.9.0.jar:3.9.0]
halo  |     at org.pf4j.DefaultPluginManager.loadPluginFromPath(DefaultPluginManager.java:139) ~[pf4j-3.9.0.jar:3.9.0]
halo  |     at run.halo.app.plugin.HaloPluginManager.loadPluginFromPath(HaloPluginManager.java:391) ~[classes/:2.4.2]
halo  |     at org.pf4j.AbstractPluginManager.loadPlugin(AbstractPluginManager.java:201) ~[pf4j-3.9.0.jar:3.9.0]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.lambda$ensurePluginLoaded$17(PluginReconciler.java:482) ~[classes/:2.4.2]
halo  |     at java.base/java.util.ArrayList.forEach(Unknown Source) ~[na:na]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.ensurePluginLoaded(PluginReconciler.java:480) ~[classes/:2.4.2]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.getPluginWrapper(PluginReconciler.java:309) ~[classes/:2.4.2]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.lambda$readinessDetection$1(PluginReconciler.java:116) ~[classes/:2.4.2]
halo  |     at java.base/java.util.Optional.map(Unknown Source) ~[na:na]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.readinessDetection(PluginReconciler.java:106) ~[classes/:2.4.2]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.lambda$reconcile$0(PluginReconciler.java:94) ~[classes/:2.4.2]
halo  |     at java.base/java.util.Optional.map(Unknown Source) ~[na:na]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.reconcile(PluginReconciler.java:86) ~[classes/:2.4.2]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.reconcile(PluginReconciler.java:69) ~[classes/:2.4.2]
halo  |     at run.halo.app.extension.controller.DefaultController$Worker.run(DefaultController.java:163) ~[api-2.4.2.jar:na]
halo  |     at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[na:na]
halo  |     at java.base/java.util.concurrent.FutureTask.run(Unknown Source) ~[na:na]
halo  |     at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[na:na]
halo  |     at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[na:na]
halo  |     at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
halo  |
halo  | 2023-04-08T00:10:16.644+08:00 ERROR 7 --- [nReconciler-t-1] r.h.a.e.controller.DefaultController     : Reconciler in run.halo.app.core.extension.reconciler.PluginReconciler-worker-1 aborted with an error, re-enqueuing...
halo  |
halo  | org.pf4j.PluginRuntimeException: Field 'version' cannot be empty
halo  |     at org.pf4j.AbstractPluginManager.validatePluginDescriptor(AbstractPluginManager.java:922) ~[pf4j-3.9.0.jar:3.9.0]
halo  |     at org.pf4j.AbstractPluginManager.loadPluginFromPath(AbstractPluginManager.java:830) ~[pf4j-3.9.0.jar:3.9.0]
halo  |     at org.pf4j.DefaultPluginManager.loadPluginFromPath(DefaultPluginManager.java:139) ~[pf4j-3.9.0.jar:3.9.0]
halo  |     at run.halo.app.plugin.HaloPluginManager.loadPluginFromPath(HaloPluginManager.java:391) ~[classes/:2.4.2]
halo  |     at org.pf4j.AbstractPluginManager.loadPlugin(AbstractPluginManager.java:201) ~[pf4j-3.9.0.jar:3.9.0]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.lambda$ensurePluginLoaded$17(PluginReconciler.java:482) ~[classes/:2.4.2]
halo  |     at java.base/java.util.ArrayList.forEach(Unknown Source) ~[na:na]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.ensurePluginLoaded(PluginReconciler.java:480) ~[classes/:2.4.2]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.getPluginWrapper(PluginReconciler.java:309) ~[classes/:2.4.2]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.lambda$readinessDetection$1(PluginReconciler.java:116) ~[classes/:2.4.2]
halo  |     at java.base/java.util.Optional.map(Unknown Source) ~[na:na]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.readinessDetection(PluginReconciler.java:106) ~[classes/:2.4.2]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.lambda$reconcile$0(PluginReconciler.java:94) ~[classes/:2.4.2]
halo  |     at java.base/java.util.Optional.map(Unknown Source) ~[na:na]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.reconcile(PluginReconciler.java:86) ~[classes/:2.4.2]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.reconcile(PluginReconciler.java:69) ~[classes/:2.4.2]
halo  |     at run.halo.app.extension.controller.DefaultController$Worker.run(DefaultController.java:163) ~[api-2.4.2.jar:na]
halo  |     at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[na:na]
halo  |     at java.base/java.util.concurrent.FutureTask.run(Unknown Source) ~[na:na]
halo  |     at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[na:na]
halo  |     at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[na:na]
halo  |     at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
halo  |
halo  | 2023-04-08T00:10:19.218+08:00 ERROR 7 --- [nReconciler-t-1] r.h.a.e.controller.DefaultController     : Reconciler in run.halo.app.core.extension.reconciler.PluginReconciler-worker-1 aborted with an error, re-enqueuing...
halo  |
halo  | org.pf4j.PluginRuntimeException: Field 'version' cannot be empty
halo  |     at org.pf4j.AbstractPluginManager.validatePluginDescriptor(AbstractPluginManager.java:922) ~[pf4j-3.9.0.jar:3.9.0]
halo  |     at org.pf4j.AbstractPluginManager.loadPluginFromPath(AbstractPluginManager.java:830) ~[pf4j-3.9.0.jar:3.9.0]
halo  |     at org.pf4j.DefaultPluginManager.loadPluginFromPath(DefaultPluginManager.java:139) ~[pf4j-3.9.0.jar:3.9.0]
halo  |     at run.halo.app.plugin.HaloPluginManager.loadPluginFromPath(HaloPluginManager.java:391) ~[classes/:2.4.2]
halo  |     at org.pf4j.AbstractPluginManager.loadPlugin(AbstractPluginManager.java:201) ~[pf4j-3.9.0.jar:3.9.0]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.lambda$ensurePluginLoaded$17(PluginReconciler.java:482) ~[classes/:2.4.2]
halo  |     at java.base/java.util.ArrayList.forEach(Unknown Source) ~[na:na]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.ensurePluginLoaded(PluginReconciler.java:480) ~[classes/:2.4.2]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.getPluginWrapper(PluginReconciler.java:309) ~[classes/:2.4.2]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.lambda$readinessDetection$1(PluginReconciler.java:116) ~[classes/:2.4.2]
halo  |     at java.base/java.util.Optional.map(Unknown Source) ~[na:na]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.readinessDetection(PluginReconciler.java:106) ~[classes/:2.4.2]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.lambda$reconcile$0(PluginReconciler.java:94) ~[classes/:2.4.2]
halo  |     at java.base/java.util.Optional.map(Unknown Source) ~[na:na]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.reconcile(PluginReconciler.java:86) ~[classes/:2.4.2]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.reconcile(PluginReconciler.java:69) ~[classes/:2.4.2]
halo  |     at run.halo.app.extension.controller.DefaultController$Worker.run(DefaultController.java:163) ~[api-2.4.2.jar:na]
halo  |     at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[na:na]
halo  |     at java.base/java.util.concurrent.FutureTask.run(Unknown Source) ~[na:na]
halo  |     at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[na:na]
halo  |     at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[na:na]
halo  |     at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
halo  |
halo  | 2023-04-08T00:10:24.356+08:00 ERROR 7 --- [nReconciler-t-1] r.h.a.e.controller.DefaultController     : Reconciler in run.halo.app.core.extension.reconciler.PluginReconciler-worker-1 aborted with an error, re-enqueuing...
halo  |
halo  | org.pf4j.PluginRuntimeException: Field 'version' cannot be empty
halo  |     at org.pf4j.AbstractPluginManager.validatePluginDescriptor(AbstractPluginManager.java:922) ~[pf4j-3.9.0.jar:3.9.0]
halo  |     at org.pf4j.AbstractPluginManager.loadPluginFromPath(AbstractPluginManager.java:830) ~[pf4j-3.9.0.jar:3.9.0]
halo  |     at org.pf4j.DefaultPluginManager.loadPluginFromPath(DefaultPluginManager.java:139) ~[pf4j-3.9.0.jar:3.9.0]
halo  |     at run.halo.app.plugin.HaloPluginManager.loadPluginFromPath(HaloPluginManager.java:391) ~[classes/:2.4.2]
halo  |     at org.pf4j.AbstractPluginManager.loadPlugin(AbstractPluginManager.java:201) ~[pf4j-3.9.0.jar:3.9.0]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.lambda$ensurePluginLoaded$17(PluginReconciler.java:482) ~[classes/:2.4.2]
halo  |     at java.base/java.util.ArrayList.forEach(Unknown Source) ~[na:na]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.ensurePluginLoaded(PluginReconciler.java:480) ~[classes/:2.4.2]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.getPluginWrapper(PluginReconciler.java:309) ~[classes/:2.4.2]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.lambda$readinessDetection$1(PluginReconciler.java:116) ~[classes/:2.4.2]
halo  |     at java.base/java.util.Optional.map(Unknown Source) ~[na:na]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.readinessDetection(PluginReconciler.java:106) ~[classes/:2.4.2]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.lambda$reconcile$0(PluginReconciler.java:94) ~[classes/:2.4.2]
halo  |     at java.base/java.util.Optional.map(Unknown Source) ~[na:na]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.reconcile(PluginReconciler.java:86) ~[classes/:2.4.2]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.reconcile(PluginReconciler.java:69) ~[classes/:2.4.2]
halo  |     at run.halo.app.extension.controller.DefaultController$Worker.run(DefaultController.java:163) ~[api-2.4.2.jar:na]
halo  |     at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[na:na]
halo  |     at java.base/java.util.concurrent.FutureTask.run(Unknown Source) ~[na:na]
halo  |     at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[na:na]
halo  |     at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[na:na]
halo  |     at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
halo  |
halo  | 2023-04-08T00:10:34.616+08:00 ERROR 7 --- [nReconciler-t-1] r.h.a.e.controller.DefaultController     : Reconciler in run.halo.app.core.extension.reconciler.PluginReconciler-worker-1 aborted with an error, re-enqueuing...
halo  |
halo  | org.pf4j.PluginRuntimeException: Field 'version' cannot be empty
halo  |     at org.pf4j.AbstractPluginManager.validatePluginDescriptor(AbstractPluginManager.java:922) ~[pf4j-3.9.0.jar:3.9.0]
halo  |     at org.pf4j.AbstractPluginManager.loadPluginFromPath(AbstractPluginManager.java:830) ~[pf4j-3.9.0.jar:3.9.0]
halo  |     at org.pf4j.DefaultPluginManager.loadPluginFromPath(DefaultPluginManager.java:139) ~[pf4j-3.9.0.jar:3.9.0]
halo  |     at run.halo.app.plugin.HaloPluginManager.loadPluginFromPath(HaloPluginManager.java:391) ~[classes/:2.4.2]
halo  |     at org.pf4j.AbstractPluginManager.loadPlugin(AbstractPluginManager.java:201) ~[pf4j-3.9.0.jar:3.9.0]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.lambda$ensurePluginLoaded$17(PluginReconciler.java:482) ~[classes/:2.4.2]
halo  |     at java.base/java.util.ArrayList.forEach(Unknown Source) ~[na:na]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.ensurePluginLoaded(PluginReconciler.java:480) ~[classes/:2.4.2]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.getPluginWrapper(PluginReconciler.java:309) ~[classes/:2.4.2]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.lambda$readinessDetection$1(PluginReconciler.java:116) ~[classes/:2.4.2]
halo  |     at java.base/java.util.Optional.map(Unknown Source) ~[na:na]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.readinessDetection(PluginReconciler.java:106) ~[classes/:2.4.2]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.lambda$reconcile$0(PluginReconciler.java:94) ~[classes/:2.4.2]
halo  |     at java.base/java.util.Optional.map(Unknown Source) ~[na:na]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.reconcile(PluginReconciler.java:86) ~[classes/:2.4.2]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.reconcile(PluginReconciler.java:69) ~[classes/:2.4.2]
halo  |     at run.halo.app.extension.controller.DefaultController$Worker.run(DefaultController.java:163) ~[api-2.4.2.jar:na]
halo  |     at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[na:na]
halo  |     at java.base/java.util.concurrent.FutureTask.run(Unknown Source) ~[na:na]
halo  |     at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[na:na]
halo  |     at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[na:na]
halo  |     at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
halo  |
halo  | 2023-04-08T00:10:55.111+08:00 ERROR 7 --- [nReconciler-t-1] r.h.a.e.controller.DefaultController     : Reconciler in run.halo.app.core.extension.reconciler.PluginReconciler-worker-1 aborted with an error, re-enqueuing...
halo  |
halo  | org.pf4j.PluginRuntimeException: Field 'version' cannot be empty
halo  |     at org.pf4j.AbstractPluginManager.validatePluginDescriptor(AbstractPluginManager.java:922) ~[pf4j-3.9.0.jar:3.9.0]
halo  |     at org.pf4j.AbstractPluginManager.loadPluginFromPath(AbstractPluginManager.java:830) ~[pf4j-3.9.0.jar:3.9.0]
halo  |     at org.pf4j.DefaultPluginManager.loadPluginFromPath(DefaultPluginManager.java:139) ~[pf4j-3.9.0.jar:3.9.0]
halo  |     at run.halo.app.plugin.HaloPluginManager.loadPluginFromPath(HaloPluginManager.java:391) ~[classes/:2.4.2]
halo  |     at org.pf4j.AbstractPluginManager.loadPlugin(AbstractPluginManager.java:201) ~[pf4j-3.9.0.jar:3.9.0]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.lambda$ensurePluginLoaded$17(PluginReconciler.java:482) ~[classes/:2.4.2]
halo  |     at java.base/java.util.ArrayList.forEach(Unknown Source) ~[na:na]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.ensurePluginLoaded(PluginReconciler.java:480) ~[classes/:2.4.2]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.getPluginWrapper(PluginReconciler.java:309) ~[classes/:2.4.2]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.lambda$readinessDetection$1(PluginReconciler.java:116) ~[classes/:2.4.2]
halo  |     at java.base/java.util.Optional.map(Unknown Source) ~[na:na]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.readinessDetection(PluginReconciler.java:106) ~[classes/:2.4.2]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.lambda$reconcile$0(PluginReconciler.java:94) ~[classes/:2.4.2]
halo  |     at java.base/java.util.Optional.map(Unknown Source) ~[na:na]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.reconcile(PluginReconciler.java:86) ~[classes/:2.4.2]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.reconcile(PluginReconciler.java:69) ~[classes/:2.4.2]
halo  |     at run.halo.app.extension.controller.DefaultController$Worker.run(DefaultController.java:163) ~[api-2.4.2.jar:na]
halo  |     at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[na:na]
halo  |     at java.base/java.util.concurrent.FutureTask.run(Unknown Source) ~[na:na]
halo  |     at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[na:na]
halo  |     at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[na:na]
halo  |     at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
halo  |
^@halo  | 2023-04-08T00:11:36.089+08:00 ERROR 7 --- [nReconciler-t-1] r.h.a.e.controller.DefaultController     : Reconciler in run.halo.app.core.extension.reconciler.PluginReconciler-worker-1 aborted with an error, re-enqueuing...
halo  |
halo  | org.pf4j.PluginRuntimeException: Field 'version' cannot be empty
halo  |     at org.pf4j.AbstractPluginManager.validatePluginDescriptor(AbstractPluginManager.java:922) ~[pf4j-3.9.0.jar:3.9.0]
halo  |     at org.pf4j.AbstractPluginManager.loadPluginFromPath(AbstractPluginManager.java:830) ~[pf4j-3.9.0.jar:3.9.0]
halo  |     at org.pf4j.DefaultPluginManager.loadPluginFromPath(DefaultPluginManager.java:139) ~[pf4j-3.9.0.jar:3.9.0]
halo  |     at run.halo.app.plugin.HaloPluginManager.loadPluginFromPath(HaloPluginManager.java:391) ~[classes/:2.4.2]
halo  |     at org.pf4j.AbstractPluginManager.loadPlugin(AbstractPluginManager.java:201) ~[pf4j-3.9.0.jar:3.9.0]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.lambda$ensurePluginLoaded$17(PluginReconciler.java:482) ~[classes/:2.4.2]
halo  |     at java.base/java.util.ArrayList.forEach(Unknown Source) ~[na:na]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.ensurePluginLoaded(PluginReconciler.java:480) ~[classes/:2.4.2]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.getPluginWrapper(PluginReconciler.java:309) ~[classes/:2.4.2]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.lambda$readinessDetection$1(PluginReconciler.java:116) ~[classes/:2.4.2]
halo  |     at java.base/java.util.Optional.map(Unknown Source) ~[na:na]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.readinessDetection(PluginReconciler.java:106) ~[classes/:2.4.2]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.lambda$reconcile$0(PluginReconciler.java:94) ~[classes/:2.4.2]
halo  |     at java.base/java.util.Optional.map(Unknown Source) ~[na:na]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.reconcile(PluginReconciler.java:86) ~[classes/:2.4.2]
halo  |     at run.halo.app.core.extension.reconciler.PluginReconciler.reconcile(PluginReconciler.java:69) ~[classes/:2.4.2]
halo  |     at run.halo.app.extension.controller.DefaultController$Worker.run(DefaultController.java:163) ~[api-2.4.2.jar:na]
halo  |     at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[na:na]
halo  |     at java.base/java.util.concurrent.FutureTask.run(Unknown Source) ~[na:na]
halo  |     at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[na:na]
halo  |     at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[na:na]
halo  |     at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
halo  |
^@

回答

1

临时解决办法是手动清理掉 plugins 目录的异常插件文件。

5

我用的是docker,请问怎么理掉 plugins 目录的异常插件文件。?我不知道是在哪个目录下执行命令,还是直接在那个容器里执行?

3

提供下那个清理命令