Что такое артефакт 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....

просто говорит, что артефакты - это не что иное, как пакеты.