1. Въведение
Apache Maven е един от най-популярните инструменти за изграждане на Java проекти. Освен само децентрализиране на зависимости и хранилища, насърчаването на еднаква структура на директориите в проектите също е един от важните му аспекти.
В тази кратка статия ще разгледаме стандартното оформление на директорията на типичен проект на Maven.
2. Оформление на директорията
Типичен проект на Maven има файл pom.xml и структура на директория, базирана на дефинирани конвенции:
└───maven-project ├───pom.xml ├───README.txt ├───NOTICE.txt ├───LICENSE.txt └───src ├───main │ ├───java │ ├───resources │ ├───filters │ └───webapp ├───test │ ├───java │ ├───resources │ └───filters ├───it ├───site └───assembly
Оформлението на директорията по подразбиране може да бъде заменено с помощта на дескриптори на проекти, но това е необичайно и обезкуражено.
Продължавайки в тази статия, ще разкрием повече подробности за всеки стандартен файл и поддиректория.
3. Основната директория
Тази директория служи като корен на всеки проект на Maven.
Нека разгледаме по-отблизо стандартните файлове и поддиректории, които обикновено се намират в root:
- maven-project / pom.xml - дефинира зависимости и модули, необходими по време на жизнения цикъл на компилация на проект на Maven
- maven-project / LICENSE.txt - информация за лицензиране на проекта
- maven-project / README.txt - резюме на проекта
- maven-project / NOTICE.txt - информация за библиотеки на трети страни, използвани в проекта
- maven-project / src / main - съдържа изходен код и ресурси, които стават част от артефакта
- maven-project / src / test - съдържа целия тестов код и ресурси
- maven-project / src / it - обикновено запазено за тестове за интеграция, използвани от приставката Maven Failsafe
- maven-project / src / site - документация за сайта, създадена с помощта на приставката за сайтове Maven
- maven-project / src / assembly - конфигурация на сглобяване за опаковане на двоични файлове
4. SRC / главната директория
Както показва името, src / main е най-важната директория на проект на Maven. Всичко, което се предполага, че е част от артефакт, било то буркан или война , трябва да присъства тук.
Нейните поддиректории са:
- src / main / java - изходен код на Java за артефакта
- src / main / resources - конфигурационни файлове и други като i18n файлове, конфигурационни файлове за всяка среда и XML конфигурации
- src / main / webapp - за уеб приложения, съдържа ресурси като JavaScript, CSS, HTML файлове, шаблони за преглед и изображения
- src / main / filters - съдържа файлове, които инжектират стойности в свойствата на конфигурацията в папката ресурси по време на фазата на изграждане
5. SRC / тест Directory
Директорията src / test е мястото, където се намират тестовете на всеки компонент в приложението.
Обърнете внимание, че нито една от тези директории или файлове няма да стане част от артефакта. Нека видим неговите поддиректории:
- src / test / java - изходен код на Java за тестове
- src / test / resources - конфигурационни файлове и други, използвани от тестовете
- src / test / filters - съдържа файлове, които инжектират стойности в свойствата на конфигурацията в папката ресурси по време на тестовата фаза
6. Заключение
В тази статия разгледахме стандартното оформление на директория за проект на Apache Maven.
Многобройни примери за проектни структури на Maven могат да бъдат намерени в проекта GitHub.