Что такое артефакт и почему Maven нуждается в нем?
Что такое артефакт Maven?
Ответ 1
Артефакт - это файл, обычно JAR, который развертывается в репозитории Maven.
Конструкция Maven создает один или несколько артефактов, таких как скомпилированный JAR и JAR источников.
Каждый артефакт имеет идентификатор группы (обычно это имя с обратным доменом, например com.example.foo), идентификатор артефакта (только имя) и строка версии. Эти три вместе однозначно идентифицируют артефакт.
Зависимости проекта задаются как артефакты.
Ответ 2
В общих терминах программного обеспечения " artifact - это нечто, созданное процессом разработки программного обеспечения, будь то документация по программному обеспечению или исполняемый файл.
В терминологии Maven артефакт является результатом вывода сборки maven, как правило, jar
или war
или другого исполняемого файла. Артефакты в maven идентифицируются с помощью системы координат groupId, artifactId и версии. Maven использует groupId
, artifactId
и version
для определения зависимостей (обычно других файлов jar), необходимых для создания и запуска вашего кода.
Ответ 3
Maven организует сборку проектов.
An artifact
в maven - ресурс, сгенерированный проектом maven. Каждый проект maven может иметь ровно один artifact
как jar, war, ear
и т.д.
Файл конфигурации проекта "pom.xml"
описывает, как создается артефакт, как выполняются модульные тесты и т.д.
Обычно сборка программного обеспечения с помощью maven состоит из многих maven-проектов, которые создают артефакты (например, банки), которые составляют продукт.
Например.
Root-Project // produces no artifact, simply triggers the build of the other projects
App-Project // The application, that uses the libraries
Lib1-Project // A project that creates a library (jar)
Lib2-Project // Another library
Doc-Project // A project that generates the user documentation from some resources
Артефакты Maven не ограничены ресурсами Java. Вы можете генерировать любой необходимый вам ресурс. Например. документация, сайт проекта, zip-архивы, собственные библиотеки и т.д.
Каждый проект maven имеет уникальный идентификатор, состоящий из [groupId, artifactId, version]
. Когда проект maven требует ресурсов другого проекта, в нем конфигурируется зависимость pom.xml
с использованием вышеупомянутого идентификатора. Затем Maven автоматически разрешает зависимости при запуске сборки. Затем артефакты требуемых проектов загружаются либо из локального repository
, который является простым каталогом в вашем домашнем доме, либо из других (удаленных) репозиториев, указанных вами pom.xml
.
Ответ 4
Я знаю, что это древняя тема, но я хотел добавить несколько нюансов.
Существуют артефакты Maven, артефакты менеджера репозитория, а затем есть Maven Artifact
s.
Артефакт Maven точно так же, как говорят другие комментаторы/респонденты: это вещь, которую выплевывают, создавая проект Maven. Это может быть файл .jar
или файл .war
, или файл .zip
, или .dll
, или что у вас есть.
Артефакт менеджера хранилища - это то, что управляется менеджером репозитория. Менеджер хранилища - это, в основном, высокопроизводительная служба имен для исполняемых программ и библиотек программного обеспечения. Диспетчер хранилища не заботится о том, откуда взялись его артефакты (возможно, они были получены из сборки Maven или локального файла или сборки Ant или по объему компиляции...).
A Maven Artifact
- это класс Java, который представляет вид "имя", который разыменовывается менеджером репозитория в артефакте менеджера хранилища. При использовании в этом смысле Artifact
является просто прославленным именем, состоящим из таких частей, как groupId
, artifactId
, version
, scope
, classifier
и т.д.
Объединить все это:
- Ваш проект Maven, вероятно, зависит от нескольких
Artifact
посредством его элементов<dependency>
. - Maven взаимодействует с менеджером репозитория для решения этих
Artifact
в файлах, инструктируя диспетчер репозитория отправлять ему некоторые артефакты менеджера репозитория, соответствующие внутреннимArtifact
s. - Наконец, после разрешения Maven строит ваш проект и создает артефакт Maven. Вы можете "превратить это" в артефакт менеджера хранилища, в свою очередь, используя любой инструмент, который вам нравится, отправляя его менеджеру репозитория с достаточной координационной информацией, которую другие люди могут найти, когда они спросят менеджера хранилища для него.
Надеюсь, что это поможет.
Ответ 5
Q. Что такое артефакт в maven?
ANS: ARTIFACT - это JAR (WAR или EAR), но это может быть и нечто другое. Каждый артефакт имеет,
- идентификатор группы (например, com.your.package),
- идентификатор артефакта (только имя) и
- строка версии.
Три вместе однозначно идентифицируют артефакт.
Q.Почему они нужны Maven.
Ans: Maven используется, чтобы сделать их доступными для наших приложений.
Простой ответ на простой вопрос:)
Ответ 6
Артефакт - это JAR или что-то, что вы храните в репозитории. Maven вытаскивает их и строит ваш код.
Ответ 7
Для maven процесс сборки устроен как набор артефактов. Артефакты включают:
- Плагины, которые составляют сам Maven.
- Зависимости, от которых зависит ваш код.
- Все, что производит ваша сборка, может, в свою очередь, потребляться чем-то другим.
Артефакты живут в репозиториях.
Ответ 8
обычно мы говорим о терминологии Maven о идентификаторе группы, идентификаторе артефакта и версии снимка
Идентификатор группы: идентификатор группы проекта Идентификатор артефакта: идентификатор проекта Версия моментального снимка: версия, используемая проектом.
Артефакт - это не что иное, как какой-то результирующий файл, такой как Jar, War, Ear....
просто говорит, что артефакты - это не что иное, как пакеты.