인프런 커뮤니티 질문&답변
jar 추가에대한 질문드려도될까요?
작성
·
18
·
수정됨
0
안녕하세요
공부를 하다보니 궁금해서 질문드립니다.
일반 톰캣인 embed 의존성 추가 여부가 궁금해서 그러는데요
기존의 스프링? 에서 톰캣으로 war나 jar형식으로 배포 하다가
embed 의존성을 추가해서 배포로 변경하면
차이가있을지 궁금합니다.
이전에 다른분들께 설명을 해주셨는지 모르겠지만.
강의를 듣다
톰캣에서 돌아가는 코드를 내장 톰켓을 추가할경우
마이그레이션을 많이 해야하는지
단순히 embed 라이브러리 추가만하면 되는지
궁금해서 질문드리게 되었습니다.
또 Fat jar로 배포할경우 class로 변경이 된다고
하셨는데 만약에 코드를 수정해야할경우
서버에서실시간 그렇게되면 java파일로 변경해서
수정은 불가능할까요?
기존의 코드를 수정하지않는 선에서 class에서 변경된 jar파일 내에서만 수정이 가능하는지 궁금합니다.
1번 jar가 8081일경우 2번 jar가 8082인경우
같은 프로젝트가 아니라 별도의 프로젝트 일경우..라면 통신은 어떻게하는지 궁금합니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 이경용님.
스프링 부트에서는 내장 톰캣(Embedded Tomcat)을 사용하여 애플리케이션을 JAR 파일로 패키징하여 배포할 수 있습니다. 기존에 외부 톰캣에 WAR 파일을 배포하던 방식과는 차이가 있을 수 있습니다. 다음은 내장 톰캣을 사용할 경우의 주요 차이점과 고려 사항입니다:
내장 톰캣 사용: 스프링 부트는 내장 톰캣을 기본적으로 포함하고 있어, 별도로 톰캣 서버를 설치하지 않아도 됩니다. 애플리케이션을
java -jar명령으로 실행하면 톰캣이 함께 실행됩니다.개발 변경 사항: 내장 톰캣을 사용하도록 설정하기 위해 주로
build.gradle혹은pom.xml에 Spring Boot의 스타터 의존성을 추가합니다. 주요 코드 변경이 필요하지 않으며, 기존의 Spring 애플리케이션 코드는 대부분 그대로 동작합니다.Fat JAR과 클래스 수정: Fat JAR은 모든 종속성 라이브러리와 애플리케이션 코드를 하나의 JAR 파일로 묶은 것입니다. JAR 파일 내의 클래스 파일을 직접 수정하는 것은 불가능합니다. 만약 변경이 필요하다면, 소스 코드를 수정한 후 다시 빌드해야 합니다.
이와 관련해서 더 자세한 정보를 원하신다면, 아래 링크의 게시글들이 도움이 될 수 있습니다:
위 링크들을 통해 JAR와 WAR 배포의 차이점 및 내장 톰캣 사용 시의 유의사항을 확인하실 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





