我有一個Java應用程序。我所有的一切都是關於課堂文件的。我想用新的文件替換一個類文件。用新的替換舊的類文件並重新設置tomcat並不反映這些更改。我怎樣才能做到這一點?我知道它不是一種推薦的方式,但我擁有的只是一個新的類文件。如何通過替換tomcat中的類文件來反映更改?
回答
我已經按照之前描述的方式完成了這個任務,並且Tomcat在重新啓動後反映了這些更改。
也許您的應用程序的文件位於多個位置,並且您沒有在正確的部署中替換類文件?確保Tomcat是否自動擴展WAR文件,並將其替換到擴展文件夾中。如果您的應用程序部署在除webapps
之外的其他位置,請仔細檢查您的<Context>
指向其文檔庫的位置。
我該如何避免在tomcat stratup上重新部署war文件? – user811433
我不是100%確定的,但我認爲如果Tomcat找到與WAR同名的文件夾,它將假定該文件夾是展開的WAR,並且不會重新部署。假設你有'tomcat/webapps/myApp.war'和一個擴展文件夾'tomcat/webapps/myApp'。您應該能夠在'tomcat/webapps/myApp/WEB-INF/classes/path/to/file.class'中替換'.class'文件,並且Tomcat應該在重新啓動時選擇這些更改。我已經完成了很多次,它的工作方式與您期望的相同,所以您必須更換錯誤的文件,或者您正在驗證更改是否有誤。 –
我剛剛檢查了這一點。我在正確的位置替換了正確的文件。但tomcat並沒有選擇它。 – user811433
您可以配置Tomcat並使您的web應用程序「可重新加載」。爲此,請將reloadable=true
添加到Web應用程序的<Context>
元素中。
設置爲true
如果您希望Catalina監控/WEB-INF/classes/
和/WEB-INF/lib
中的類以進行更改,並在檢測到更改時自動重新加載Web應用程序。但是,您可以使用Manager Web應用程序觸發按需重新部署已部署的應用程序。
- 1. 更改(替換)文件中的文件
- 2. Apache Tomcat Cataline文件更改沒有反映!
- 3. 通過SVN向Wordpress提交插件更新不反映更改
- 4. 如何僅通過替換一些文本來更改href標記
- 5. 如何通過反映
- 6. 常量不會在Tomcat中的類替換後更改
- 7. Bash - 通過更改文件名變量來更改文件名
- 8. scss文件中的更改不反映在css文件中
- 9. Magento更改爲.php文件未反映
- 10. 文件更改沒有立即反映
- 11. css更改不反映在玉文件
- 12. 如何更改django中的過濾器以反映不等於?
- 13. 如何反映已過濾列表中的更改
- 14. 如何反映運行java文件時所做的更改?
- 15. 如何通過.NET更改CAB文件?
- 16. 在Tomcat 7.0 \ wtpwebapps舊文件反映爲
- 17. 通過更改CSS/HTML中的類/ ID來更改佈局
- 18. 如何在替換文本文件中更改特殊字符「\」
- 19. 通過在一個集合中進行更改來反映多個mongodb集合中的更改
- 20. python更新類實例以反映類方法中的更改
- 21. Eclipse文件更改沒有反映在文件系統中
- 22. 通過替換PAM文件中的文本來更改密碼策略的shell腳本
- 23. 如何更改tomcat中的默認JRE通過parellel plesk
- 24. 如何通過bash腳本替換文件中的^ @字符
- 25. Django:如何替換/覆蓋/更新/更改FileField的文件?
- 26. 反映類文件更改而不彈跳websphere服務器
- 27. 如何更改apache tomcat中的文件上傳文件夾?
- 28. 如何通過給定條件來更改CSS中的顏色?
- 29. Tomcat通過server.xml映射上下文
- 30. JRadioButton:如何通過IconImage替換文本?
如果它在重新啓動之後沒有「反映更改」...您沒有做任何更改。我懷疑你的web應用程序是在'war'文件中,並在啓動時重新部署,覆蓋你所做的任何事情。 –
我該如何避免? – user811433
我使用Eclipse Kepler Dynamic Web項目和Tomcat 7.0作爲工作區服務器時遇到了同樣的問題。我通過解決所有項目的問題來修復它,然後右鍵單擊Tomcat服務器,選擇Clean,然後選擇Publish。 – BrownsFan