Apache Maven Standard Directory Layout
1. Introduktion
Apache Maven er et af de mest populære byggeværktøjer til Java-projekter. Bortset fra blot at decentralisere afhængigheder og opbevaringssteder er det også et af dets vigtige aspekter at fremme en ensartet katalogstruktur på tværs af projekter.
I denne hurtige artikel undersøger vi standardmappelayoutet for et typisk Maven-projekt.
2. Kataloglayout
Et typisk Maven-projekt har en pom.xml fil og en katalogstruktur baseret på definerede konventioner:
└ Java │ ├───ressourcer │ ├─── filter ─site └───montering
Standardmappelayoutet kan tilsidesættes ved hjælp af projektbeskrivere, men dette er ualmindeligt og frarådes.
Vi fortsætter i denne artikel og afslører flere detaljer om hver standardfil og underkatalog.
3. Root Directory
Denne mappe fungerer som roden til ethvert Maven-projekt.
Lad os se nærmere på de standardfiler og underkataloger, der typisk findes ved root:
- maven-project / pom.xml - definerer afhængigheder og moduler, der er nødvendige i løbet af et Maven-projekts livscyklus
- maven-project / LICENSE.txt - licensoplysninger for projektet
- maven-project / README.txt - resumé af projektet
- maven-project / NOTICE.txt - oplysninger om tredjepartsbiblioteker, der bruges i projektet
- maven-projekt / src / main - indeholder kildekode og ressourcer, der bliver en del af artefakten
- maven-projekt / src / test - har alle testkoder og ressourcer
- maven-project / src / it - normalt forbeholdt integrationstests, der bruges af Maven Failsafe Plugin
- maven-project / src / site - webstedsdokumentation oprettet ved hjælp af Maven Site Plugin
- maven-projekt / src / samling - samlingskonfiguration til emballeringsbinarier
4. Den src / main Vejviser
Som navnet antyder, src / main er den vigtigste mappe i et Maven-projekt. Alt, hvad der formodes at være en del af en artefakt, det være sig en krukke eller krig, skal være til stede her.
Dets underkataloger er:
- src / main / java - Java-kildekode til artefakten
- src / main / ressourcer - konfigurationsfiler og andre som f.eks i18n filer, konfigurationsfiler pr. miljø og XML-konfigurationer
- src / main / webapp - til webapplikationer, indeholder ressourcer som JavaScript, CSS, HTML-filer, visningsskabeloner og billeder
- src / main / filtre - indeholder filer, der indsætter værdier i konfigurationsegenskaber i ressourcemappen under buildfasen
5. Den src / test Vejviser
Mappen src / test er stedet, hvor test af hver komponent i applikationen ligger.
Bemærk, at ingen af disse mapper eller filer bliver en del af artefakten. Lad os se dets underkataloger:
- src / test / java - Java-kildekode til test
- src / test / ressourcer - konfigurationsfiler og andre, der bruges til test
- src / test / filtre - indeholder filer, der injicerer værdier i konfigurationsegenskaber i ressourcemappen under testfasen
6. Konklusion
I denne artikel kiggede vi på standardkataloglayoutet til et Apache Maven-projekt.
Flere eksempler på Maven-projektstrukturer kan findes i GitHub-projektet.