亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

HiveMQ Prometheus 擴展 NoClassDefFoundError。無法啟動擴展

HiveMQ Prometheus 擴展 NoClassDefFoundError。無法啟動擴展

鴻蒙傳說 2023-04-19 16:49:01
我正在運行 hivemq mqtt 代理社區版,并希望添加用于監控的 prometheus 擴展。兩者都是從hivemq 市場和github 項目頁面預編譯的。我將這兩個組件下載為 zip 文件,解壓縮并使用此 dockerfile 將它們復制到 java 11 docker 容器中:FROM alpine:3.10  AS TOOLCHAINADD https://github.com/hivemq/hivemq-community-edition/releases/download/2019.1/hivemq-ce-2019.1.zip /opt/ADD https://www.hivemq.com/releases/extensions/hivemq-prometheus-extension-4.0.1.zip /opt/WORKDIR /optRUN unzip hivemq-ce-* -d ./RUN unzip hivemq-prometheus-extension* -d ./RUN rm -rf hivemq-ce-*.zipRUN rm -rf hivemq-prometheus-extension*.zipRUN mv ./hivemq-ce-* ./hivemqFROM openjdk:11-jdk-slimCOPY --from=TOOLCHAIN /opt/hivemq /opt/hivemqCOPY --from=TOOLCHAIN /opt/hivemq-prometheus-extension /opt/hivemq/extensions/hivemq-prometheus-extensionWORKDIR /opt/hivemq/CMD ["chmod","755","./bin/run.sh"]CMD ["./bin/run.sh"]我想我從操作方法中得到了正確的步驟,但是當我啟動容器時docker build -t hive-test .; docker run -p 1883:1883 -p 9399:9399 -t hive-test出現錯誤。我還下載了代理和擴展源代碼,并嘗試自己用 maven/gradle 和 java 11 編譯它。但結果完全相同。代理運行沒有任何錯誤。有誰知道這里出了什么問題?
查看完整描述

1 回答

?
隔江千里

TA貢獻1906條經驗 獲得超10個贊

實際上,hivemq broker 社區版的依賴項不包含 ServletContextListener。我從github上下載了源碼,修改了build.gradle文件。


將以下代碼片段的最后一行添加到 build.gradle 文件中:


/* javax */

[group: 'javax.activation', name: 'activation', version: '1.1.1'],

[group: 'javax.validation', name: 'validation-api', version: '1.1.0.Final'],

[group: 'javax.annotation', name: 'javax.annotation-api', version: '1.3.2'],

[group: 'javax.servlet', name: 'javax.servlet-api', version: '4.0.1'],

編譯代理后解壓結果并將預編譯的擴展添加到擴展目錄。


錯誤消失了,擴展似乎在工作。


查看完整回答
反對 回復 2023-04-19
  • 1 回答
  • 0 關注
  • 149 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號