답변:
IntelliJ IDEA와의 전쟁을 전개하는 경우에는 수행 할 수 없습니다. 그러나 폭발적인 전쟁 을 전개하는 경우 가 될 수 있습니다 . 아이디어에서 :
my-webapp-name:war
my-webapp-name:war exploded
이제 변경을 할 때마다 IDEA는 프레임이 비활성화 될 때 (즉, 포커스를 잃는) 변경된 파일을 재배치합니다. 1-2 초가 소요되며 IDEA의 하단 상태 표시 줄에 표시됩니다. 명백하게. 웹 브라우저를 새로 고쳐야 새 파일을 가져옵니다 (물론 페이지에 페치와 같은 아약스 자동 새로 고침이있는 경우 제외).
Tomcat과의 좋은 조합은 "프레임 비활성화"를 "리소스 갱신"으로 설정하고 "업데이트시"조치를 "재배치"또는 "서버 다시 시작"으로 설정하는 것입니다. 이렇게하면 정적 페이지를 프레임 비활성화를 통해 빠르게 업데이트 할 수 있습니다. '업데이트'액션을 통해 클래스가 업데이트되었습니다.
ZeroTurnaround 판매라는 기업 JRebel 동적 클래스 로더 솔루션입니다. 그들은 또한 매우 좋은 주제에 대한 다섯 부분으로 구성되어 있습니다.
Error: Artifact 'my-webapp-name:war exploded' has invalid extension
수정하는 방법?
클래스와 리소스를 업데이트하려면 Tomcat 을 디버그 모드 에서 실행 하십시오 . 이 모드에서 IntelliJ 는 문제없이 클래스와 리소스를 업데이트합니다 (핫 스왑).
같은 문제가 있습니다. "실행 모드"로 실행 되었기 때문에 IntelliJ 가 프로젝트를 업데이트하지 않았습니다. 디버그 모드 에서 실행하고 Ctrl+를 누르면 F10클래스와 리소스가 업데이트됩니다.
더 좋은 방법을 찾았습니다.
Eclipse 에서는 정적 파일을 자동으로 빌드, 컴파일 및 다시로드했습니다. 실제로 정적 파일은 src / main / webapp 에서 직접 제공됩니다 .
IntelliJ 에는 src / main / webapp 에서 직접 제공하는 대신 대상에 폴더가 있으며, 여기에는 src / main / webapp 및 기타 컨텍스트 관련 .. web-inf / classes / lib 의 사본이 있습니다 .
당신이 목표 대신 폭발 유물의 출력을 넣으면 SRC / 메인 / 웹 애플리케이션 , 그것은 당신에게 소스 파일을 덮어 쓰지 않습니다, 그것은 바로 될 것입니다, 당신은 명중 할 필요가 없습니다 - 업데이트 자원 / 업데이트 자원 및 클래스를
IntelliJ에서해야 할 일은
그런 다음 IntelliJ 외부에서 정적 파일을 변경하는 작업이 있으면 IntelliJ 및 Update Resources로 이동하지 않고 즉시 변경 사항을 볼 수 있으며 저장하고 컴파일하는 해당 매크로가있는 클래스에 대해서도 컴파일 할 수 있습니다 (참고 : Compile을 누르십시오. / 재 컴파일 : cmd + shift + F9 / cmd + F9-여러 개의 편집기를 열면 더티 편집기가 더티가 아니며 변경 사항 (클래스)이 다시로드됩니다.
exploded war 폴더를 배포하고 핫 리로딩을 활성화 한 후 디버그 모드에서 바람둥이를 시작할 때만 가능합니다.
이를 달성하기위한 단계는 다음과 같습니다.