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

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

錯誤:無法找到或加載主類 org.apache.catalina.startup.Bootstrap

錯誤:無法找到或加載主類 org.apache.catalina.startup.Bootstrap

一只甜甜圈 2023-05-17 14:46:31
我正在使用 cargo-maven2-plugin 來運行 tomcat 進行集成測試。使用 7x 容器時效果很好。我最近將它升級到 9x,它在 Ubuntu/Linux 機器上運行良好,但在 Mac(運行最新的操作系統版本)上不起作用。當我查看容器日志時,它會列出以下日志:Error: Could not find or load main class org.apache.catalina.startup.BootstrapListening for transport dt_socket at address: 7998Error: Could not find or load main class org.apache.catalina.startup.Bootstrap當我查看貨物日志時,它列出了以下日志:The ' characters around the executable and arguments arenot part of the command.[10:46:34.640][debug][talledLocalContainer]    +Task: java[10:46:34.642][debug][talledLocalContainer] dropping /Users/myprojectpath/target/tomcat-9.0.22/bin/tomcat-juli.jar from path as it doesn't exist[10:46:34.642][debug][talledLocalContainer] dropping /Users/myprojectpath/target/tomcat-9.0.22/bin/bootstrap.jar from path as it doesn't exist[10:46:34.643][debug][talledLocalContainer] dropping /Users/myprojectpath/target/tomcat-9.0.22/bin/tomcat-juli.jar from path as it doesn't exist[10:46:34.643][debug][talledLocalContainer] dropping /Users/myprojectpath/target/tomcat-9.0.22/bin/bootstrap.jar from path as it doesn't exist[10:46:34.643][debug][talledLocalContainer] Executing '/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/jre/bin/java' with arguments:'-Xdebug''-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7998''-DprocessName=central''-Xms256m''-Xmx512m''-Dfile.encoding=utf-8''-Dhsqldb.database=/Users/myprojectpath/target/tomcat-9.0.22/tomcat/hsqldb/myprojectdbname''-Dhsqldb.dbname=myprojectdbname''-Dhsqldb.port=9001''-Duser.language=en'
查看完整描述

2 回答

?
蕪湖不蕪

TA貢獻1796條經驗 獲得超7個贊

根據貨物日志,類路徑中的 tomcat-juli 和 bootstrap jar 都被丟棄了。那太好了。為什么要添加一個不存在的罐子?即這些罐子不在位置:/Users/myprojectpath/target/tomcat-9.0.22/bin

但是他們住在哪里呢?好吧,它們位于:/Users/myprojectpath/target/tomcat-9.0.22/tomcat/bin

進一步查看 cargo 日志,java 任務是使用這些 jvm args 執行的,其中包括:

-Dcatalina.home=/Users/myprojectpath/target/tomcat-9.0.22
-Dcatalina.base=/Users/myprojectpath/target/tomcat-9.0.22/tomcat

現在連接點,假設 tomcat-juli 和 bootstrap jar 位于 catalina.home 但它們駐留在 catalina.base,不是嗎?很容易修復,對吧?

那么如何設置catalina.home呢?向 cargo.jvm.args 添加一個額外的參數?N??,沒用。然后怎樣呢?因為它是一個 Maven 貨物插件/容器,所以可能有一個配置?是的,有一個叫做<home>under?<container>。最后!

盡管如此,我仍然不知道為什么 ubuntu/linux 機器不需要此配置來運行本地 tomcat 容器進行集成測試。

但我確實理解 catalina.base 和 catalina.home 的目的 :)


查看完整回答
反對 回復 2023-05-17
?
慕俠2389804

TA貢獻1719條經驗 獲得超6個贊

清理了項目,它又開始工作了。

Project -> Clean 將刪除任何現有的類文件并完全重建項目。


查看完整回答
反對 回復 2023-05-17
  • 2 回答
  • 0 關注
  • 751 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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