jar 파일 압축 해제 없이 사용 가능한 이유

jar 파일은 자바의 클래스 파일, 메타데이터, 리소스 파일 등을 포함하는 압축 파일입니다. 여러 파일을 묶어 놓은 형태이며 사실상 zip 파일과 다르지 않습니다. 그런데 jar 파일은 별도 압축 해제 과정 없이 그 자체로 자바 애플리케이션이 인식하고 안에 있는 클래스와 리소스를 로드합니다.

 

예를 들어, 오라클 DB 커넥터인 ojdbc14.jar 파일을 PC에 반디집 같은 압축 툴로 열어보면 압축된 클래스 및 리소스 구조를 확인할 수 있습니다. 압축 파일입니다. 그러나 jar 파일은 WAS의 라이브러리 폴더에 넣으면 압축해제를 하지 않더라도 안에 있는 jdbc 관련 함수를 호출해서 오라클 DB와 연결을 시도할 수 있습니다.

 

ojdbc

 

압축 상태로 사용할 수 있는 이유

이처럼 jar 파일이 압축된 상태에서 사용될 수 있는 건 자바 런타임 환경(JRE)과 자바 애플리케이션 서버가 jar 파일 내부의 클래스와 리소스를 직접 참조할 수 있게 설계되어 있기 때문입니다. JRE는 jar 파일을 압축 해제하지 않아도 파일의 내용을 읽을 수 있는 기능을 제공합니다. 이때 JRE는 확장자를 보고 jar를 인식합니다.

jar 파일 장점

jar 파일을 활용하면 몇 가지 장점이 있습니다.

 

1. 하나의 jar 파일에 필요한 것들이 묶여 있기 때문에 관리하기 매우 효율적입니다.

 

2. 배포와 설치가 간편합니다.

 

3. 전송 시에 빠르고 효율적입니다.

 

4. 완전히 캡슐화되어 있다고 보긴 어렵지만 내부 콘텐츠를 확인하는 것에 제약이 있어 보안상 좋습니다.

반응형

댓글

Designed by JB FACTORY