як відобразити зміни, замінивши файли класу на tomcat?

У мене є додаток для Java. Все, що у мене є, - це набір у файлах класу. Необхідно замінити один файл класу новим. Заміна старого файлу класу на новий і restrting tomcat не відображає зміни. Як це зробити? Я знаю, що це не рекомендовано, але у мене є лише один новий файл класу.

0
як я можу уникнути цього?
додано Автор user811433, джерело
Якщо воно не "відображає зміни" після його перезапуску ... ви не внесли жодних змін. Я підозрюю, що ваша веб-програма знаходиться у файлі war і перезавантажується під час запуску, перезаписуючи все, що ви зробили.
додано Автор Brian Roach, джерело
Я мав ту ж проблему, використовуючи проект Eclipse Kepler Dynamic Web і Tomcat 7.0 як сервер робочого середовища. Я виправив це, вирішивши всі проблеми проекту, потім, клацнувши правою кнопкою миші на сервері Tomcat, виберіть «Очистити», потім «Опублікувати».
додано Автор BrownsFan, джерело

2 Відповіді

Я зробив це так, як ви описали раніше, і Tomcat відобразив ці зміни чудово після перезапуску.

Perhaps your application's files are in multiple locations, and you aren't replacing the class file in the correct deployment? Make sure if Tomcat is auto-expanding the WAR that you are replacing it in the expanded folder of files. If you app is deployed somewhere besides webapps, double-check where your is pointing to for its doc base.

1
додано
Як уникнути перерозподілу військового файлу на стравах з томатним шаром?
додано Автор user811433, джерело
Я просто двічі перевірив це. У мене правильний файл замінено у правильному місці. але Томас не збирає його.
додано Автор user811433, джерело
Я не впевнений, що 100%, але я думаю, якщо Tomcat знайде папку з таким ім'ям, як WAR, вона вважатиме, що ця папка є розширеною WAR і не буде перерозподілена. Скажімо, у вас є tomcat/webapps/myApp.war і розгорнута тека tomcat/webapps/myApp . Ви повинні мати змогу замінити свій файл .class у теки tomcat/webapps/myApp/WEB-INF/classes/path/to/file.class , і Tomcat має вибрати ті змінюється на перезавантаження. Я зробив це багато разів, і він працює так, як ви це очікуєте, так що ви повинні або замінити неправильний файл, або, однак, ви підтверджуєте, що зміни невірні.
додано Автор Sean Adkinson, джерело

You can configure Tomcat and make your webapp "reloadable". To do so, add reloadable=true to the element of your webapp.

Встановіть true , якщо ви хочете, щоб Catalina мав намір переглянути класи в /WEB-INF/classes/ та /WEB-INF/lib для змін; автоматично завантажувати веб-додаток, якщо буде виявлено зміну. Тим не менш, ви можете використовувати Менеджер веб-додаток, щоб запустити перезавантаження розгорнутих програм на вимогу.

1
додано
Він вже заявив, що він перезапустив козла.
додано Автор Brian Roach, джерело
Це перезавантажує всю програму, у будь-якому випадку, лише для того, щоб замінити лише цей файл класу?
додано Автор Madeyedexter, джерело
Причина може полягати не в тому, що правильний файл класу замінюється.
додано Автор bilash.saha, джерело
ІТ КПІ - Java
ІТ КПІ - Java
436 учасників