2012-07-06 4 views
3

이유에 대해 잠시 잊어 버리는 것을 잊어 버렸습니다 ...Tomcat에 클래스 파일 핫 배포

기존/실행중인 웹 응용 프로그램에 소수의 클래스 파일을 배포해야합니다. 나는 이것을 위해 전체 WAR를 빌드하고 배치 할 수 없다. 클래스 파일을 올바른 위치에 복사했습니다. 파일에 대한 사용 권한이 올바른지 확인하십시오. 나는 Tomcat의 work 폴더를 삭제했다. 나는 Tomcat을 튀 겼다. 하지만 여전히 오래된 클래스 파일의 결과를 제공하고 있습니다.

이 클래스 파일은 스프링 컨텍스트에서 싱글 톤으로로드되는 Grails 서비스 클래스와 관련이 있습니다. 나는 무엇인가 놓치고 있어야하지만 그것이 무엇인지에 관해 명확히하지 않고 있어야한다.

업데이트 : 기존 WAR을 디렉토리로 추출하고 그 안에있는 클래스 파일을 대체 한 다음 WAR로 다시 패키징하고 응용 프로그램을 배포했습니다. 아직도 기쁨이 없습니다. 이것은 정말로 혼란 스럽다.

+0

WAR 파일을 제거 했습니까? 구성에 따라 Tomcat은 다시 시작될 때마다 WAR 파일에서 응용 프로그램을 재배포 할 수 있습니다. – Olaf

+0

예, WAR를 삭제했지만 차이가 없습니다. 그것은 어쨌든 파일을 덮어 쓰지 않았습니다. – Gregg

답변

2

어떤 OS를 사용하고 있는지 잘 모르겠지만 Tomcat을 수신 거부 한 후에도 웹 응용 프로그램이 죽지 않는 것과 비슷한 문제가있었습니다. 나는 창에서 내 애플 리케이션을 실행하고 cmd를 확인했다 netstat -a 포트를 사용하여 여전히 응용 프로그램을 죽이려고했다 후에 볼 수 있는지 확인했다. 그런 다음 구성 요소 서비스 아래에서 tomcat 서비스를 중지합니다. 응용 프로그램이 바람둥이를 다시 시작한 후 잘 업데이트되었습니다. 도움이 되었기를 바랍니다.

+0

나는 이것을 줄 것이다. 그것의 리눅스, btw. – Gregg

+0

나는 그 과정을 찾아서 kill -9를하고 나서 다시 바람둥이를 시작했다. 아직도 새로운 수업을 인식하지 못합니다. 이 시점에서 나는 WAR 파일을 추출하고, 클래스 파일을 넣고, WAR 파일을 백업하고, 어떤 일이 일어나는지 보려고한다. – Gregg

+0

컴퓨터에 여러 개의 tomcat 인스턴스가 있습니까? 그렇다면 어쩌면 그 중 하나가 여전히 응용 프로그램의 버전을 실행하는 방법일까요? – PJT

관련 문제