inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 부트 - 핵심 원리와 활용

WAR 빌드와 배포

WAR, JAR 차이점 (구성하는 파일에 대해)

303

창신동 장첸

작성한 질문수 115

0

안녕하세요. 강사님

 

05:00 분에 WAR를 설명하십니다.

WAR : 정적리소스(HTML) + 클래스파일 이라고 설명하십니다.

JAR 도 WAR와 마찬가지로 위와같이 HTML, 클래스파일을 갖을 텐데요. 강사님께서는 HTML을 WAR설명때만 언급을 하십니다.

 

WAR 와 JAR가 갖는 파일들에 대해 차이점을 구별하지 못하고 있습니다. 단순 내부구조가 복잡하거나 단순한 걸로 구별을 해야할까요?

 

spring spring-boot prometheus grafana

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

창신동 장첸님께서 질문하신 WAR와 JAR 파일의 차이에 대해 설명드리겠습니다.

두 가지 모두 Java 패키지 파일로, Java 애플리케이션을 압축하고 배포하는 데 사용됩니다. 그러나 이 두 파일에는 중요한 차이가 있습니다.

  1. JAR (Java Archive):

    • 주로 Java 라이브러리 패키지로 사용됩니다.
    • Java 프로그램(애플리케이션)을 실행할 수 있도록 필요한 클래스 파일과 메타데이터가 포함되어 있습니다.
    • 독립 실행 애플리케이션을 위한 내장 웹 서버(예: 톰캣)를 포함할 수 있어 별도의 서버 환경 없이도 바로 실행할 수 있습니다.
    • 주로 Spring Boot 애플리케이션에서 사용됩니다.
  2. WAR (Web Application Archive):

    • 주로 웹 애플리케이션을 위한 패키지 형식입니다.
    • 웹 서버나 서블릿 컨테이너(예: 외장 톰캣, 제티 등) 내에서 실행될 수 있으며, WEB-INF 디렉터리 아래에 JSP 파일, 서블릿 클래스, 메타데이터 등을 포함합니다.
    • 기존의 Java EE(Web) 애플리케이션 서버에서 많이 사용됩니다.

기본적으로 JAR와 WAR의 차이는 어떻게 애플리케이션이 실행되고 배포되는지에 있습니다. JAR는 독립 실행 환경이 포함될 수 있는 점에서 차이가 있지만, WAR는 외부 서버 환경과 연계되어야 하는 구조입니다.

다음 링크는 관련된 내용을 더 자세히 이해하는 데 도움이 될 수 있습니다:
- WAR, JAR의 차이와 특성 이해

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

보안이 엄격한 데이터

0

73

1

MyProperties 자체를 클라이언트 코드에서 사용

1

43

1

http://localhost:8080/actuator/prometheus

0

85

3

jar 추가에대한 질문드려도될까요?

0

64

1

build.gradle bom link 변경

0

65

2

@Counted 초기화

0

48

1

@Validated를 적용해도 빈 검증이 안되는 경우에 대한 조치 공유..

0

101

2

springboot에서 actuator없이 micrometer를 사용할수 있나요?

0

67

1

@Configuration 질문드립니다.

0

84

2

[공유] 터미널 말고 IDE 에서 jar 실행하기

0

101

1

localhost:8080/hello-servlet 404오류

0

123

2

내장톰캣2 서블릿 톰켓 실행이 안됩니다

1

154

2

최대 Tomcat 스레드 수를 확인하는 지표

0

160

1

mac m2에서 startup.sh 실행후 아무 반응이 없습니다.

0

94

2

내장 톰캣 실행 오류 관련 질문드립니다.

0

158

1

스프링 발전 과정들도 자세히 알아둬야하나요??

1

127

1

스프링부트 ioc 컨테이너 갯수

0

89

1

404 페이지

0

133

3

actuator 호출시 타임스탬프 질문

0

90

1

순수 라이브러리 사용하기 2 - memory-v1

0

125

1

외부설정 @ConfigurationProperties의 내부 클래스에서 static을 사용하는 이유를 알고 싶습니다.

0

105

1

서블릿 컨테이너 초기화1 강의 관련 질문입니다~

0

94

1

Thread Config Max 패널 설정 변경 질문

0

128

1

스프링 액츄에이터 shutdown 엔드포인트 활성화가 안됩니다.

0

108

1