IT story

동네 짱 항아리는 무엇입니까?

hot-time 2020. 4. 24. 08:07
반응형

동네 짱 항아리는 무엇입니까?


Maven 설명서를 읽고 'uber-jar'라는 이름을 발견했습니다.

동네 짱 병은 무엇을 의미하며 그 특징 / 장점은 무엇입니까?


Über이전 국가에서 다음과 같이 above또는 over대한 독일어 단어입니다 Deutschland, Deutschland, über alles(독일, 독일).

따라서이 문맥에서 uber-jar은 하나의 단일 JAR 파일에 패키지 모든 종속성을 모두 포함하는 것으로 정의 된 단순한 "jar"에서 한 단계 위로 올라간 "over-jar" 입니다. 이 이름은 ultrageek, superman, hyperspace 및 메타 데이터와 같은 안정에서 유래 한 것으로 생각할 수 있으며, "일반을 넘어서"와 비슷한 의미를 가지고 있습니다.

장점은 uber-jar에 실제로 종속성 없기 때문에 uber-jar을 분배하고 대상에 종속성이 설치되어 있는지 여부를 전혀 신경 쓰지 않아도된다는 것 입니다.

uber-jar 내에서 자신의 물건의 모든 종속성 해당 uber-jar 내에 있습니다. 이러한 종속성의 모든 종속성과 마찬가지로. 등등.


Paxdiablo 정의는 정말 좋습니다.

또한 소프트웨어를 실제로 배포하고 고객이 직접 종속성을 다운로드하지 않기를 원하는 경우에는 uber-jar를 제공하는 것이 때로는 흥미 롭습니다. 단점으로, 자체 정책으로 일부 라이브러리의 사용을 허용하지 않거나 일부 추가 구성 요소 (slf4j, 시스템 호환 라이브러리, arch specialiez 라이브러리 등)를 바인딩 해야하는 경우 어려움을 겪을 수 있습니다. .

당신은 그것을 수행 할 수 있습니다 :

보다 깨끗한 솔루션은 세 번째 라이브러리를 별도로 제공하는 것입니다. maven-shade-plugin에는 미리 구성된 설명자가 있습니다. 이것은 더 복잡하지 않습니다 (maven 및 해당 플러그인 사용).

마지막으로 OSGI 번들을 사용하는 것이 가장 좋습니다. 좋은 튜토리얼이 많이 있습니다 :)

추가 구성에 대해서는 다음 주제를 읽으십시오.


ubar jar 는 또한 지방 jar종속성이있는 jar 로도 알려져 있습니다.
동네 짱 항아리를 구성하는 일반적인 세 ​​가지 방법이 있습니다.

  1. 음영 처리되지 않은 : 모든 JAR 파일의 압축을 풀고 단일 JAR로 다시 포장하십시오. Java의 기본 클래스 로더와 함께 작동합니다. maven-assembly-plugin 도구
  2. 음영 처리 : 음영 처리 되지 않은 것과 동일하지만 모든 종속성의 모든 패키지 이름을 바꿉니다 (예 : "음영") . Java의 기본 클래스 로더와 함께 작동합니다. 일부 (전부는 아님) 종속성 버전 충돌을 방지합니다. 도구 Maven-Shade-plugin
  3. JAR의 JAR : 최종 JAR 파일에는 다른 JAR 파일이 포함되어 있습니다. 종속성 버전 충돌을 피하십시오. 모든 리소스 파일이 유지됩니다. 도구 : Eclipse JAR 파일 내보내기

이상


자체 포함 된 실행 가능한 Java 아카이브. WildFly Swarm uberjars의 경우 애플리케이션을 포함하는 단일 .jar 파일,이를 지원하는 데 필요한 WildFly 부분, 내부 Maven 종속성 저장소 및 모든 부트 스트랩을 포함하는 shim입니다. 이것 좀 봐

참고 URL : https://stackoverflow.com/questions/11947037/what-is-an-uber-jar

반응형