CodeGym/Java kursus/Modul 3/Opret et Maven-projekt

Opret et Maven-projekt

Ledig

Projektbeskrivelse Objektmodel

En af de ting, som Maven standardiserede i første omgang, var projektbeskrivelsen. Før Maven havde hver IDE sin egen projektfil, som lagrede information om projektet og dets samling (og ofte i binær form).

Maven er kommet med en XML-baseret, universel, åben standard, der beskriver, hvad et projekt er, hvordan det skal bygges, og hvilke afhængigheder det har ved hjælp af forskellige tags. Projektbeskrivelsen er indeholdt i en enkelt fil, normalt kaldet pom.xml .

Et eksempel på pom.xml fil :

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3" .org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>

   <groupId>example.com</groupId>
   <artifactId>eksempel</artifactId>
   <version>1.0-SNAPSHOT</version>

   <dependencies>
       <dependency>
           <groupId>commons-io </groupId>
           <artifactId>commons-io</artifactId>
        <version>2.6</version>
        </dependency>
   </dependencies>


</project>

Dette eksempel har tre ting skrevet:

  • Oplysninger om versionen af ​​maven-projektstandarden er blå.
  • Oplysninger om selve projektet er med rødt.
  • Oplysninger om brugte biblioteker er grønne.

Lad os se nærmere på pom-filenheden.

Maven projektstruktur

Og umiddelbart er spørgsmålet: var du opmærksom på det mærkelige i det sidste eksempel? Den indeholder ikke information om selve projektkoden! Der er ingen ord om, hvor java-filer, ressourcer, egenskabsfiler, html, build-scripts og lignende er gemt.

Og svaret er enkelt - Maven standardiserede designet af projektet. Der er flere muligheder for at organisere kode i et projekt, og den mest almindelige er:

Strukturen er lidt usædvanlig efter standard IDEA-projekter, men til det er den universel. 90% af de projekter, du vil støde på i dit liv, vil have denne mappestruktur .

Hvis du opretter et Maven-projekt (ved hjælp af IDEA eller ved hjælp af konsollen), vil det antage den angivne form. Lad os se, hvordan det hele fungerer her.

src- mappen , du gættede rigtigt, indeholder kildekoden til projektet. Den har to undermapper: hoved og test .

Mappen /src/main/java er roden til alle Java-klasser i projektet. Hvis du har en com.codegym.Cat-klasse, vil den være i mappen /src/main/java /com/codegym /Cat.java . Hvis der er tekst eller binære ressourcer, skal de gemmes i mappen /src/main/resources .

Strukturen af ​​/src/test -mappen ligner strukturen af ​​/src/main -mappen , men den indeholder testene og deres ressourcer. Maven ved selv, hvordan man kører de nødvendige test, når man bygger et projekt, men vi vil tale om dette i et separat foredrag.

Der er også en /target- mappe i projektet , hvor Maven gemmer projektet efter det er bygget. Da store projekter ofte har ikke-trivielle build-scripts, er intet gemt i denne mappe.

Det andet formål med /target -mappen er at cache mellemliggende build-resultater. Når man bygger et stort projekt, kan Maven kun genopbygge den del af det, der har ændret sig, og dermed fremskynde byggetiden flere gange.

Nå, som et kirsebær på kagen - selve roden af ​​projektet er pom.xml-filen. Den indeholder alle nødvendige oplysninger om projektet, som vi vil diskutere nedenfor.

Enhed pom.xml

Til at starte med er pom-filen xml, så den indeholder standardoverskrifter og navnerumsoplysninger. Det hele handler om den rene XML-standard, så vi vil ikke tale om det i detaljer. Det betyder dette:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3" .org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

        …

</projekt>

Normalt er den første linje inde i <project>-tagget en beskrivelse af versionen af ​​pom-fil-standarden. Næsten altid er det 4.0. Dette er heller ikke af interesse for os.

De første linjer, vi er interesserede i, ser således ud:

  <modelVersion>4.0.0</modelVersion>

  <groupId>com.sample.app</groupId>
  <artifactId>ny-app</artifactId>
  <version>1.0-SNAPSHOT</version>

For ikke igen at forstå, hvad vi beskriver (program, projekt, modul, bibliotek osv.) i Maven-standarden, kaldes dette alt for ordet artefakt . Hvad du ikke kan nægte skaberne af Maven, er kærligheden til standardisering.

De tre tags du ser betyder:

  • groupId - den pakke, som applikationen tilhører, med tilføjelse af domænenavnet;
  • artifactId – unik strengnøgle (projekt-id);
  • version - version af projektet.

Disse tre parametre er nok til entydigt at beskrive enhver artefakt .

Yderligere, efter beskrivelsen af ​​projektet, er der normalt en liste over artefakter (biblioteker), som projektet bruger. Det ser sådan ud:

   <dependencies>

       <dependency>
           <groupId>commons-io</groupId>
           <artifactId>commons-io</artifactId>
           <version>2.6</version>
       </dependency>

   </dependencies>

I dette eksempel tilføjer vi commons-io-biblioteket fra commons-io-pakken, version 2.6, til vores projekt.

På byggetidspunktet vil Maven finde et sådant bibliotek i dets globale lager og tilføje det til dit projekt. Og forresten, ikke kun Maven kan gøre dette.

Sådan fungerer IDEA med Maven

Intellij IDEA er fantastisk til at arbejde med Maven. Hun ved, hvordan man åbner sådanne projekter, laver dem selv, kører forskellige build-scripts og forstår perfekt de inkluderede biblioteker.

Den har endda sin egen indbyggede Maven i nogen tid, men du skal stadig selv kunne installere og konfigurere den, så denne funktion i IDEA blev ikke nævnt tidligere. I teorien kan IDEA have en konflikt mellem to Mavens, så det er godt for dig at vide, at der er to.

Sådan opretter du et nyt Maven-projekt i IDEA:

Klik på menuen Filer > Nyt projekt. Vælg menupunktet Nyt projekt til venstre .

maven projekt

Lad os præcisere nogle punkter:

  1. Projekt navn;
  2. Mappe til projektet;
  3. Projektsproget er Java;
  4. Projekttypen er Maven.

I sektionen Avancerede indstillinger nederst vil IDEA bede dig om at angive goupID, artefakt-ID og version af vores nye projekt. Disse data kan altid nemt ændres senere. Vælg blandt de foreslåede, eller indtast din egen:

Maven projekt 2

Derefter skal du som standard oprette et projekt på det ønskede sted. Som et resultat ser vi strukturen:

Maven projekt 3

Klasser og pakker skal oprettes i java-mappen, vi har allerede talt om dette. Og jeg tror sagtens, man kan klare det. Vi er klar til at komme videre, men lad os gå lidt tilbage til et vigtigt emne, som vi "springede over" lidt.

Kommentarer
  • Populær
  • Ny
  • Gammel
Du skal være logget ind for at skrive en kommentar
Denne side har ingen kommentarer endnu