Hvordan Maven automatisk løser jar-biblioteksafhængigheder.


Udgivelsesdato:17. januar 2021.



INFOMARTION > Hvordan Maven automatisk løser jar-biblioteksafhængigheder.

Oversigt.

Maven downloader automatisk jars fra internettet, men jeg vil gerne forklare præcis, hvordan det fungerer.

Udgangspunktet for denne artikel er, at du skal forstå, hvad Maven er, så hvis du ikke er bekendt med Maven, bør du også læse den følgende artikel.

Hvad er Maven, og hvad gør Maven?

Indholdsfortegnelse

  1. Maven's evne til at løse jar-biblioteksafhængigheder.
  2. resumé

1. Maven's evne til at løse jar-biblioteksafhængigheder.

Maven kan automatisk hente jar-filerne ved blot at definere de nødvendige jar-filer i pom.xml-filen. Den lærer også automatisk de afhængige jars, der er nødvendige for at køre den pågældende jar. Jeg vil gerne forklare, hvordan det fungerer.

1-1. Hvad der skal medtages i pom.xml-filen.

For at løse afhængigheden af jar-biblioteket skal du først finde oplysninger i pom.xml-filen for at løse afhængigheden af jar-biblioteket. Maven behandler oplysningerne fra pom.xml-filen. Hvis f.eks. "poi-3.17.jar" er påkrævet, beskrives det i pom.xml som følger. (I øvrigt er "poi-3.17.jar" en jar, der bruges til at manipulere Microsoft Office-filer som f.eks. Excel.)

pom.xml


<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>3.17</version>
</dependency>

Hvis du blot nævner ovenstående, downloader du "poi-3.17.jar" fra internettet og downloader også den medfølgende jar fra internettet, som er nødvendig for at køre "poi-3.17.jar".

1-2. Hvordan downloades de fra internettet?

En simpel forklaring af systemet er vist i nedenstående diagram.

Download fra Maven-repositorier, der er tilgængelige på internettet. Hvis der ikke er angivet noget, er standardværdien Central Repository. URL'en er som følger.

https://repo1.maven.org/maven2/

På følgende websted kan du finde en liste over de arkiver, der er tilgængelige på internettet, hvis du er interesseret.

https://mvnrepository.com/repos

Første gang hentes jar-filen fra et eksternt arkiv, men den kopieres til det lokale arkiv og hentes ikke fra anden gang og fremefter. Placeringen af det lokale arkiv er "C:\Users\user\.m2".

Hvis du vil ændre destinationen fra standardværdien, kan du også ændre destinationen ved at inkludere følgende repository-tag i pom.xml.

pom.xml


<repositories>
    <repository>
        <id>sonatype-nexus-snapshots</id>
        <name>Sonatype Nexus Snapshots</name>
        <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        <releases>
            <enabled>false</enabled>
        </releases>
        <snapshots>
        </snapshots>
    </repository>
</repositories>

1-3. Mekanismer til løsning af afhængigheder af den krukke, der skal erhverves.

Vi har netop beskrevet et eksempel på at få fat i "poi-3.17.jar", men "poi-3.17.jar" kræver "commons-collections4-4.1.jar" for at kunne køre. Det betyder, at "poi-3.17.jar" er afhængig af "commons-collections4-4.1.jar". Mekanismen til at løse denne afhængighed kan findes i Maven-repositoriet, hvor "poi-3.17.jar" er gemt. URL'en er som følger.

https://repo1.maven.org/maven2/org/apache/poi/poi/3.17/

Jeg tror, at "poi-3.17.pom" er gemt, og i denne fil kan du finde oplysninger om, at "poi-3.17.jar" afhænger af "commons-collections4-4.1.jar". Det betyder, at når systemet henter "poi-3.17.jar", henter det ikke kun jar-filen, men også pom-filen og kontrollerer, om der er andre nødvendige jar-filer.

2. resumé

Maven's mekanisme til at løse afhængigheder af jar-biblioteker er, at afhængigheder defineres i pom-filen, hvor de jar-filer, der skal hentes, er gemt.

Tak, fordi du kiggede med til slutningen.




■INFORMATION

Klik her for at gå til den øverste side med oplysninger.


■PROFILE

Klik her for at se en profil.


■Kontaktoplysninger.

For forespørgsler om artiklen kan du kontakte os her.