Apache Maven Standaard directory-indeling

1. Inleiding

Apache Maven is een van de meest populaire build-tools voor Java-projecten. Afgezien van het decentraliseren van afhankelijkheden en repositories, is het bevorderen van een uniforme directorystructuur tussen projecten ook een van de belangrijke aspecten.

In dit korte artikel zullen we de standaard directory-indeling van een typisch Maven-project verkennen.

2. Directory-indeling

Een typisch Maven-project heeft een pom.xml bestand en een directorystructuur gebaseerd op gedefinieerde conventies:

└───maven-project ├───pom.xml ├───README.txt ├───OPMERKING.txt ├───LICENSE.txt └───src ├───main │ ├─── java │ ├───bronnen │ ├───filters │ └───webapp ├───test │ ├───java │ ├───bronnen │ └───filters ├───it ├── ─site └───montage

De standaard directory-indeling kan worden overschreven met projectdescriptors, maar dit is ongebruikelijk en wordt afgeraden.

In dit artikel zullen we meer details over elk standaardbestand en elke submap onthullen.

3. De hoofddirectory

Deze map dient als de root van elk Maven-project.

Laten we de standaardbestanden en submappen die doorgaans in de root worden gevonden eens nader bekijken:

  • maven-project / pom.xml - definieert afhankelijkheden en modules die nodig zijn tijdens de bouwcyclus van een Maven-project
  • maven-project / LICENSE.txt - licentie-informatie van het project
  • maven-project / README.txt - samenvatting van het project
  • maven-project / NOTICE.txt - informatie over bibliotheken van derden die in het project worden gebruikt
  • maven-project / src / main - bevat broncode en bronnen die onderdeel worden van het artefact
  • maven-project / src / test - bevat alle testcode en bronnen
  • maven-project / src / it - meestal gereserveerd voor integratietests die worden gebruikt door de Maven Failsafe-plug-in
  • maven-project / src / site - site documentatie gemaakt met behulp van de Maven Site-plug-in
  • maven-project / src / assembly - montageconfiguratie voor het verpakken van binaire bestanden

4. Het src / main Directory

Zoals de naam aangeeft, src / main is de belangrijkste directory van een Maven-project. Alles dat deel uitmaakt van een artefact, zij het een pot of oorlog, zou hier aanwezig moeten zijn.

De submappen zijn:

  • src / main / java - Java-broncode voor het artefact
  • src / main / resources - configuratiebestanden en anderen zoals i18n bestanden, configuratiebestanden per omgeving en XML-configuraties

  • src / main / webapp - voor webtoepassingen, bevat bronnen zoals JavaScript, CSS, HTML-bestanden, weergavesjablonen en afbeeldingen
  • src / main / filters - bevat bestanden die waarden injecteren in configuratie-eigenschappen in de map bronnen tijdens de bouwfase

5. Het src / test Directory

De directory src / test is de plaats waar tests van elk onderdeel in de applicatie zich bevinden.

Merk op dat geen van deze mappen of bestanden onderdeel wordt van het artefact. Laten we de submappen bekijken:

  • src / test / java - Java-broncode voor tests
  • src / test / resources - configuratiebestanden en andere die door tests worden gebruikt
  • src / test / filters - bevat bestanden die waarden injecteren in configuratie-eigenschappen in de map bronnen tijdens de testfase

6. Conclusie

In dit artikel hebben we gekeken naar de standaard directory-indeling voor een Apache Maven-project.

Meerdere voorbeelden van Maven-projectstructuren zijn te vinden in het GitHub-project.