Java Java시작하기 jar는 어떤 파일 형식인가요?

jar는 어떤 파일 형식인가요?

Feb 08, 2021 pm 03:28 PM
jar

jar은 일반적으로 Java 플랫폼 응용 프로그램 소프트웨어 또는 라이브러리를 개발하기 위해 많은 수의 Java 클래스 파일, 관련 메타데이터 및 리소스 파일을 하나의 파일로 집계하는 데 사용되는 소프트웨어 패키지 파일 형식입니다. 파일 확장자가 ".jar"인 ZIP 형식으로 구축되었습니다.

jar는 어떤 파일 형식인가요?

이 기사의 운영 환경: Windows 7 시스템, DELL G3 컴퓨터, Java8.0.

소프트웨어 분야에서 JAR 파일(Java Archive, 영어: Java Archive)은 일반적으로 다수의 Java 클래스 파일, 관련 메타데이터 및 리소스(텍스트, 이미지 등) 파일을 집계하는 데 사용되는 소프트웨어 패키지 파일 형식입니다. Java 플랫폼 애플리케이션 소프트웨어 또는 라이브러리를 개발하기 위해 하나의 파일로 만듭니다.

JAR 파일은 .jar 파일 확장자를 갖는 ZIP 형식으로 구축된 아카이브 파일입니다. 사용자는 JDK 자체 jar 명령을 사용하여 JAR 파일을 생성하거나 추출할 수 있습니다. 다른 zip 압축 도구를 사용할 수도 있지만 매니페스트 파일을 먼저 배치해야 하는 경우가 많기 때문에 압축할 때 zip 파일 헤더의 항목 순서가 중요합니다. JAR 파일 내의 파일 이름은 유니코드 텍스트입니다.

JAR 파일 형식은 널리 사용되는 ZIP 파일 형식을 기반으로 합니다. ZIP 파일과 달리 JAR 파일은 압축 및 배포뿐만 아니라 라이브러리, 구성 요소 및 플러그인의 배포 및 패키징에도 사용되며 컴파일러 및 JVM과 같은 도구에서 직접 사용할 수 있습니다. 특정 JAR을 처리하는 방법에 대한 도구를 지시하기 위해 매니페스트 및 배포 설명자와 같은 특수 파일이 JAR에 포함되어 있습니다.

관련 기능

JAR 파일 형식은 ZIP 또는 RAR과 같은 기존 압축 형식에서는 제공되지 않는 많은 장점과 기능을 제공합니다.

포함 내용:

보안 JAR 파일의 내용은 디지털 서명이 가능합니다. 이러한 방식으로 서명을 인식하는 도구는 다른 파일이 부여할 수 없는 소프트웨어 보안 권한을 선택적으로 부여할 수 있으며 코드가 변조되었는지 여부도 감지할 수 있습니다.

다운로드 시간 단축 애플릿이 JAR 파일에 번들로 포함되어 있으면 브라우저는 각 파일에 대해 새 연결을 여는 대신 하나의 HTTP 트랜잭션으로 애플릿의 클래스 파일과 관련 리소스를 다운로드할 수 있습니다.

압축 JAR 형식을 사용하면 파일을 압축하여 저장 효율성을 높일 수 있습니다.

전송 플랫폼 확장Java 확장 프레임워크는 Java 핵심 플랫폼에 기능을 추가하는 방법을 제공합니다. 이러한 확장은 JAR 파일로 패키지됩니다(Java 3D 및 JavaMail은 Sun에서 개발한 확장의 예입니다).

권장: "java Tutorial"

  • 패키지 봉인

JAR 파일에 저장된 패키지를 선택적으로 봉인하여 버전 일관성과 보안을 강화할 수 있습니다. 패키지를 봉인한다는 것은 패키지의 모든 클래스를 동일한 JAR 파일에서 찾아야 함을 의미합니다.

  • 패키지 버전 관리

JAR 파일에는 공급업체 및 버전 정보 등 포함된 파일에 대한 데이터가 포함될 수 있습니다.

  • 이식성

JAR 파일 처리 메커니즘은 Java 플랫폼 핵심 API의 표준 부분입니다.

위 내용은 jar는 어떤 파일 형식인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. 크로스 플레이가 있습니까?
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Linux에서 jar 파일을 실행하는 방법 Linux에서 jar 파일을 실행하는 방법 Feb 20, 2024 am 10:40 AM

JAR 파일 실행을 위한 전제조건 Linux 시스템에서 JAR 파일을 실행하려면 JVM(Java Virtual Machine), 코어 클래스 라이브러리 등 Java 애플리케이션을 실행하는 데 필요한 기본 구성 요소인 JRE(Java Runtime Environment)가 설치되어 있어야 합니다. Ubuntu, Debian, Fedora, openSUSE 등과 같은 많은 주류 Linux 배포판은 사용자 설치를 용이하게 하기 위해 JRE 패키지의 소프트웨어 라이브러리를 제공합니다. 다음 문서에서는 널리 사용되는 배포판에 JRE를 설치하는 단계를 자세히 설명합니다. JRE를 설정한 후 개인 기본 설정에 따라 명령줄 터미널 또는 그래픽 사용자 인터페이스를 사용하여 JAR 파일을 시작하도록 선택할 수 있습니다. 선택은 Linux 셸에 대한 친숙도와 개인 선호도에 따라 달라질 수 있습니다.

docker가 SpringBoot를 배포하고 jar 패키지를 교체하는 방법 docker가 SpringBoot를 배포하고 jar 패키지를 교체하는 방법 May 12, 2023 pm 02:16 PM

나중에 사용할 프로젝트 디렉터리 dockerfile 파일에 dockerfile 파일을 만듭니다. 파일은 서버에 새로 생성된 /data/docker/hellolearn 폴더에 배포됩니다. (파일 경로는 사용자 지정할 수 있습니다.) 위에서 생성한 maven 패키지 jar 패키지와 dockerfile을 서버에 새로 생성된 폴더(/data/)에 복사합니다. 도커/hellolearn). dockerbuild-thellolearn.dockerbuild-t 이미지 생성 이미지 이름: dockerfile 레이블의 상대 위치, 점은 현재 디렉터리를 나타내며, 태그가 기록되지 않은 경우 기본값은 최신입니다. 컨테이너 문서 시작

Maven에서 springboot를 jar 패키지로 패키징하는 방법 Maven에서 springboot를 jar 패키지로 패키징하는 방법 May 17, 2023 am 08:19 AM

maven 명령: 1.mvncleanpackage-DskipTests: 프로젝트 디렉터리에서 이 명령을 실행하여 대상 디렉터리에 jar 패키지 또는 war 패키지를 생성합니다. 2.mvnclean: 프로젝트에서 생성된 임시 파일(일반적으로 모듈 아래의 대상 디렉터리)을 정리합니다. 3.mvncompile-DskipTests: 모듈 설치 명령은 다른 모듈에서 사용할 수 있도록 패키지된 jar/war 파일을 로컬 웨어하우스에 복사합니다. -Dmaven test. .skip=true 테스트를 건너뜁니다(testcompile도 건너뜁니다).4.mvntest: 테스트 명령 또는 src/test/java/ 실행

Linux 편집에서 springboot jar 패키지를 시작, 중지 및 다시 시작하는 방법 Linux 편집에서 springboot jar 패키지를 시작, 중지 및 다시 시작하는 방법 May 14, 2023 am 09:37 AM

머리말 springboot의 구성 파일에서 구성 파일의 이름은 고유한 의미와 용도를 갖습니다. dev 개발 환경 prod 생산 환경(기본) 테스트 테스트 환경은 지정된 구성 파일을 로드합니다--spring.profiles.active=prod 방법 jar 패키지를 로드하는 springboot는 콘솔에서 직접 //Start입니다. 단점은 콘솔이 닫힐 때 프로젝트도 닫힌다는 것입니다. java-jarbootdo.jar//이 방법은 백그라운드에서 실행될 수 있지만 쉘이 시작되면 java-jar/bootdo-2.0.0.jar>bootdolog.file2>&도 중단됩니다.

SpringBoot는 어떻게 jar 패키지 외부에 구성 파일을 걸어두나요? SpringBoot는 어떻게 jar 패키지 외부에 구성 파일을 걸어두나요? May 15, 2023 pm 03:01 PM

1. SpringBoot는 구성 파일 경로를 지정합니다. SpringBoot에서는 구성 파일을 jar 패키지 외부에 배치할 수 있으므로 재패키징 및 배포 없이 구성을 쉽게 수정할 수 있습니다. 다음은 구성 파일 디렉터리를 지정하는 여러 가지 방법입니다. (효율성이 높은 우선 순위에서 낮은 우선 순위로 정렬) 1) 명령줄 매개 변수 사용: 애플리케이션을 시작할 때 --spring.config.location 또는 -Dspring.config를 사용할 수 있습니다. 위치 명령줄 매개변수는 구성 파일의 경로를 지정합니다. 예: (config 뒤의 /는 생략할 수 없음) java-jartest.jar--spring.config.locatio

SpringBoot는 참조된 jar 패키지에서 쓸모 없는 빈을 어떻게 삭제합니까? SpringBoot는 참조된 jar 패키지에서 쓸모 없는 빈을 어떻게 삭제합니까? May 14, 2023 pm 08:07 PM

서문: 회사에서는 서둘러 프로젝트를 진행하고 있으며, 이전 다중 모듈 Maven 프로젝트에서 일부 모듈을 직접 도입하고 속도를 높이기 위해 프로젝트 요구 사항 중 일부가 이전 프로젝트의 일부 기능과 동일합니다. jar 패키지 형태로 새 프로젝트가 시작되었습니다. 이로 인해 개발 시간이 많이 절약되었지만 프로젝트에서 프로젝트 jar의 관련 종속성을 가져와야 했기 때문에 프로젝트가 비대해지고 시작이 느려졌습니다. 프로젝트에 필요한 Bean만 로드하도록 하는 방법이 있습니까? 물론 소스코드를 직접 수정하고 다시 패키징하여 문제를 해결할 수도 있지만 이 방법은 너무 번거롭다. Baidu의 방법을 통해 쿼리는 springboot 시작 클래스의 @ComponentScan 주석을 사용하여 코드 예제 @Componen을 구현할 수 있습니다.

Class.forName을 사용하여 외부 Jar 클래스 파일을 로드하는 Java 문제를 해결하는 방법 Class.forName을 사용하여 외부 Jar 클래스 파일을 로드하는 Java 문제를 해결하는 방법 May 10, 2023 pm 11:49 PM

이야기의 배경은 Magic-api라는 프레임워크에 있습니다. 로우 코드 방식으로 코드를 작성하고 이를 동적으로 컴파일하고 실행할 수 있습니다. 그러나 일부 가져오기 클래스를 로드하려면 jar를 로드해야 합니다. 그런 다음 새 클래스에 올 때마다 클래스를 프로젝트에 다시 로드한 다음 프로젝트를 패키징하고 가져와야 합니다... 매우 지루합니다! ! ! 물론, 매직의 일반적인 실행 과정도 언급해야 하는데, 소스 코드의 복사본을 받으면 헤더 파일에 대한 가져오기가 소스 코드의 Class.forName을 통해 메모리에 로드될 것이라고 말하는 사람도 있습니다. , URLClassLo를 직접 사용하세요.

springboot 프로젝트에 로컬 종속성 jar 패키지를 도입하고 lib 폴더에 패키지하는 방법 springboot 프로젝트에 로컬 종속성 jar 패키지를 도입하고 lib 폴더에 패키지하는 방법 May 11, 2023 am 11:37 AM

서문: 직장에서 타사 푸시 기능을 통합해야 하는 springboot 프레임워크로 구축된 Javaweb 프로젝트를 접하게 되었고, 그래서 Xiaomi 푸시 서비스를 사용하고 관련 jar 패키지를 다운로드했습니다. 프로젝트에 로컬 jar를 도입하는 것은 큰 문제가 아닙니다. 코드를 작성한 후에는 테스트 클래스 테스트를 통과하는 데 문제가 없습니다. 그런 다음 패키징하고 개발 서버에 배포할 준비를 합니다. 프로젝트는 tomcat을 통해 배포되기 때문에 패키징 방식은 war 패키지로 되어 있습니다. 패키징한 후 개발 서버에 업로드하고, 작성된 푸시 인터페이스를 테스트해 보았는데 실패했습니다. 분석 결과, 프로젝트의 종속 jar가 저장되어 있는 packaged war의 lib 디렉터리에 로컬로 도입된 push 관련 jar 패키지가 포함되어 있지 않은 것으로 나타났습니다. 30분 동안 고민한 끝에 문제가 해결되었습니다. 해결하다

See all articles