ProgramingTip

.jar 및 .dll 파일의 차이점

bestdevel 2020. 12. 8. 19:21
반응형

.jar 및 .dll 파일의 차이점


요즘 Java를 배우고있는 .NET으로 많은 시간을 보냈기 때문에 라이브러리를 많은 시간을 보냈기 때문에 일반적으로 .Net 환경에서 어셈블리라고 부르는 .dll 형식입니다. 이미지, xml, 오디오 및 아들과 리소스를 어떤 방식 으로든 사용할 수 있습니다.

Java 동일한 프로세스가 궁금합니다. 나는 문서를 읽었습니다. 약간의 혼란스럽고 명확하게 설명하기 위해 도움이 필요합니다.

질문 :

  1. .NET 어셈블리는 java .jar와 같은 것입니까?
  2. .dll에는 포함되어있는 .jar에는 포함 된 .class / byte 코드가 포함되어 있습니까?
  3. 그들은 자원을 사실. 우리가 여기서 어떤 종류의 자원에 대해 이야기하고 있습니까? 이미지, .txt 파일 등 또는 모두 가능합니까?

  4. AWS (Amazon Web Service API for Java)를 조사한 결과 세 개의 .jar 파일을 브라더는데

    1. aws-java-sdk-1.1.1.jar
    2. aws-java-sdk-1.1.1-javadoc.jar
    3. aws-java-sdk-1.1.1-sources.jar

.class 파일 -html 형식의 Java 문서와 아직 준비되지 않은 .java 파일이 포함되어 있습니다. 그래서 저는 .jar가있는 바이트 코드 (.class)와 다른 것을 포함하지 않습니다.

  1. Java 라이브러리를 설치할 때 항상 .jar 파일을 가져와야합니까?
  2. 내 자바 라이브러리를 내려면 .jar 파일로 내 보내야합니다.

미리 도움을 주셔서 감사합니다.


.NET 어셈블리는 java .jar과 동일한가요?

같은 역할을합니다.

.dll에는 포함되어있는 .jar에는 포함 된 .class / byte 코드가 포함되어 있습니까?

예. JAR은 단지 zip 파일이지만 (좋아하는 Zip 도구에서 열 수 있음) 거의 모든 것을 포함 할 수 있습니다.

그들은 자원을 사실. 우리가 여기서 어떤 종류의 자원에 대해 이야기하고 있습니까? 이미지, .txt 파일 등 또는 모두 가능합니까?

JAR에는 모든 파일 유형이 허용됩니다. Java 코드는 예를 들어 getResourceAsStream 또는 getResource 를 통해 jar 내의 파일 컨텐츠에 액세스 할 수 있습니다 . 분명히 JAR의 .class 파일은 특별히 (바이트 코드로) 취급됩니다.

AWS (Java 용 Amazon Web Service API)를 조사한 결과 3 개의 .jar 파일이 있는데 aws-java-sdk-1.1.1.jar, aws-java-sdk-1.1.1-javadoc.jar, aws-java-sdk -1.1.1-sources.jar

위의 포장은 상당히 일반적입니다. 사람들 때때로 .ZIP 의 대체 파일 확장자로 의 .jar사용 합니다. 이 관행이 혼란 스럽지만 드문 일이 실수 Amazon 이이 경우에 수행했습니다. 이 관행은 .jar라는 파일에 참조 소스 코드를 저장하는 Maven의 출시와 함께 더 일반적으로 생각합니다.

aws-java-sdk-1.1.1.jar- 실행 및 실행에 필요한 유일한 파일입니다. 여기에는 라이브러리가 작동하는 데 필요한 클래스 (.class 파일) 및 리소스가 포함되어 있습니다.

aws-java-sdk-1.1.1-sources.jar- 라이브러리의 소스 코드 (.java 파일)가 포함 된 zip 파일입니다. 발음이나 실행에는 필요하지 않습니다. 라이브러리를 사용하는 동안 보관 수있는 문제를 해결하는 데 도움이됩니다. 이 파일의 압축을 풀고 하드 드라이브에서 소스 코드를 읽을 수 있습니다. 그러나 IDE는 기본 생성 라이브러리 JAR에 "소스 첨부"를 직접 추가 할 수 있습니다. IDE 에서이 라이브러리-> 소스 연결을 설정하면 라이브러리 클래스에서 IDE의 "정의로 이동"기능을 사용할 때 IDE에서 라이브러리의 소스 코드를 표시 할 수 있습니다.

aws-java-sdk-1.1.1-javadoc.jar- 라이브러리에 대한 JavaDoc이 포함 된 zip 파일입니다. 다시 말하지만, 사용할 필요가 없습니다. JavaDoc은 HTML 일 뿐이 파일의 압축을 풀고 하드 드라이브에서 직접 JavaDoc HTML을 읽을 수 있습니다. 그러나 대부분의 IDE는 메인 라이브러리에 "javadoc 첨부"를 생성 할 수 있으므로 IDE 내에서 라이브러리에 대한 상황에 맞는 JavaDoc을 찾을 수 있습니다. 실제로 대부분의 IDE는 -sources.jar에서 즉석에서 JavaDoc을 생성 할 수 있으므로 javadoc jar를 거의 사용하지 않습니다.

Java 라이브러리를 설치할 때 항상 .jar 파일을 가져와야합니까?

일반적으로 "클래스 경로에 JAR 추가"라고하지만 그렇습니다. 빌드하거나 필요마다 클래스 경로를 구성하여 Java가 사용중인 JAR을 찾는 데 항상 도움이됩니다. 일반적으로 JAR 및 클래스 경로를 사용하는 것은 .NET에서 DLL을 사용하는 것보다 훨씬 더 수동적이고 명시적인 프로세스입니다. 예를 들어, Java에는 .NET의 "전역 어셈블리 캐시"와 직접적으로 동등한 것이 없습니다. 또한 vanilla Java는 작업 디렉토리에서 .jars를 자동으로로드하지 않습니다.

좀 더 "자동적 인"느낌의 클래스 경로가 생성하는 몇 가지 다른 기술이 있고 고급 기술입니다. 예를 들어 Manifest.MF 클래스 경로가 가능하지만 접근 방식은 깨지기 때문에 자주 사용하지 않습니다. Java 6부터 Java는 클래스 경로에서 와일드 카드 사용을 제한적으로 지원합니다 .

내 자바 라이브러리를 듣고 싶을 때 .jar 파일로 내 보내야 파일?

이것은 표준입니다.


나는 그 질문의 일부답할 수 있습니다 :-)

내가 알기 jar는 "자바 아카이브"파일 일뿐입니다. 원하는 것을 포함 할 수있는 바이너리 버전의 라이브러리를 배포하는 데 가장 자주 사용됩니다. 실행 파일을 배포하는데 사용할 수 있습니다. JAR 파일을 두 번 클릭하면 패키지화 된 경우 응용 프로그램이 시작됩니다.

따라서 특정 jar파일의 용도를 설명 할 수 있습니다 . 예를 들어 aws-java-sdk-1.1.1-sources.jar무엇입니까?. 자체 설치 프로그램입니까? 압축 된 코드 아카이브? 문서를 읽지 않고는 누구나 추측 할 수 있습니다.


편집 :를 들어 라이브러리의 바이너리 빌드라고 가정 하고 JAI jar 파일을 다운로드했습니다 . 그러나 실제로 설치 프로그램이 포함되어 있습니다.


이 특정 질문에 대답합니다.

  1. aws-java-sdk-1.1.1.jar
  2. aws-java-sdk-1.1.1-javadoc.jar
  3. aws-java-sdk-1.1.1-sources.jar

1)은 컴파일러 자바 아카이브 파일 (jar)이며 .NET에서는 DLL이라고합니다. 2)는 javadoc입니다. 메소드 설명과 함께 자바 클래스 (1에서 발견)에 대한 HTML 문서. 3)은 1)의 소스 코드 (Java 파일)입니다.

  1. Java 라이브러리를 가져올 때 항상 .jar 파일을 가져와야합니까?
  2. 내 자바 라이브러리를 내보내려면 .jar 파일로 내 보내야합니다.

1) jar 파일에있는 클래스를 사용해야하는 경우 해당 jar를 프로젝트로 가져와야합니다.

2) 필요하지 않습니다. 종속성 jar를 라이브러리에 번들로 묶거나 각각 자체 jar에 패키징하여 프로젝트로 가져올 수 있습니다.

  1. .NET 어셈블리는 java .jar와 같은 것입니까? 답 : 네.
  2. .dll에는 컴파일 된 IL 코드가 포함되어 있고 .jar에는 컴파일 된 .class / byte 코드 파일이 포함되어 있습니까? 답변 : .jar 파일은 자바 리소스, 클래스, 이미지 / 아이콘 / 등의 아카이브 파일입니다. .DLL과 마찬가지로 응용 프로그램에 필요합니다. 클래스 파일에는 컴파일 Java 소스 코드 (Java 바이트 코드라고 함)가 포함됩니다.

참고 URL : https://stackoverflow.com/questions/4411028/difference-between-jar-and-dll-file

반응형