Что такое артефакт в Maven?

Что такое артефакт и зачем он нужен Maven?

8 ответов


артефакт-это файл, обычно JAR, который развертывается в репозитории Maven.

сборка Maven создает один или несколько артефактов, таких как скомпилированный JAR и JAR "sources".

каждый артефакт имеет идентификатор группы (обычно обратное доменное имя, например com.образец.foo), идентификатор артефакта (только имя) и строка версии. Все трое однозначно идентифицируют артефакт.

зависимости проекта указываются как артефакты.


в общих чертах программного обеспечения "артефакт " что-то произведенное процессом разработки программного обеспечения, будь то документация, связанная с программным обеспечением или исполняемый файл.

в терминологии Maven артефакт является результирующим выходом сборки maven, как правило,jar или war или другой исполняемый файл. Артефакты в maven идентифицируются системой координат groupId, artifactId и version. Maven использует groupId, artifactId и version в определите зависимости (обычно другие файлы jar), необходимые для создания и запуска кода.


Maven организует свою сборку в проектах.

An artifact в maven-это ресурс, созданный проектом maven. Каждый проект maven может иметь ровно один artifact как jar, war, ear, etc.
Файл конфигурации проекта "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-архивы, Native-библиотек и т. д.

каждый проект Maven имеет уникальный идентификатор, состоящий из [groupId, artifactId, version]. Когда проекту maven требуются ресурсы другого проекта, в нем настраивается зависимость pom.xml используя вышеуказанные идентификаторы. Затем Maven автоматически разрешает зависимости, когда сборка вызванный. Артефакты необходимых проектов затем загружаются либо из локального repository, который является простым каталогом в доме вашего пользователя или из других (удаленных) репозиториев, указанных в вас pom.xml.


я знаю, что это древняя нить, но я хотел добавить несколько нюансов.

есть артефакты Maven, артефакты менеджера репозитория, а затем есть Maven Artifacts.

артефакт Maven так же, как говорят другие комментаторы/респонденты: это вещь, которая выплевывается при создании проекта Maven. Это может быть или или или .dll, или что там у вас.

артефакт менеджера репозитория-это вещь то есть, ну, управляется менеджером репозитория. Менеджер репозиториев-это в основном высокопроизводительная служба именования исполняемых файлов и библиотек программного обеспечения. Менеджеру репозитория все равно, откуда берутся его артефакты (возможно, они пришли из сборки Maven, или локального файла, или сборки Ant, или компиляции вручную...).

Maven Artifact - Это класс Java, который представляет вид "имени", который разыменовывается менеджером репозитория в артефакт менеджера репозитория. При использовании в этом смысле Artifact Это просто прославленное имя, состоящее из таких частей, как groupId, artifactId, version, scope, classifier и так далее.

чтобы собрать все вместе:

  • ваш проект Maven, вероятно, зависит от нескольких Artifacts Через его <dependency> элементы.
  • Maven взаимодействует с менеджером репозитория для решения этих Artifacts в файлы, проинструктировав менеджера репозитория отправить ему некоторые артефакты менеджера репозитория, которые соответствуют внутреннему Artifacts.
  • наконец, после разрешения Maven создает ваш проект и создает артефакт Maven. Вы можете выбрать "превратить это в" артефакт менеджера репозитория, в свою очередь, используя любой инструмент, который вам нравится, отправляя его менеджеру репозитория с достаточной координационной информацией, чтобы другие люди могли найти его, когда они попросите об этом менеджера репозитория.

надеюсь, это поможет.


Q. что такое артефакт в maven?
ANS: артефакт-это Банка(война или ухо), но это может быть и что-то еще. Каждый артефакт имеет,

  • идентификатор группы (например, com.ваш.пакет),
  • идентификатор артефакта (только имя) и
  • строка версия.
    три вместе однозначно идентифицируют артефакт.

Q. зачем они нужны Maven.
Ans: Maven используется, чтобы сделать их доступными для наших приложения.

простой ответ на простой вопрос :)


артефакт-это банка или что-то, что вы храните в репозитории. Maven получает их и строит ваш код.


для maven процесс сборки организован как набор артефактов. Артефакты включают:

  1. плагины, которые составляют Maven сам.
  2. зависимости, от которых зависит ваш код.
  3. все, что производит ваша сборка, которая, в свою очередь, может быть потреблена чем-то другим.

артефакты живут в репозиториях.


обычно мы говорим терминологию Maven о Group Id, Artifact Id и Snapshot Version

идентификатор группы: идентификатор группы проекта Идентификатор артефакта: идентификатор проекта Версия моментального снимка: версия, используемая проектом.

артефакт-это не что иное, как некоторый результирующий файл, такой как Jar, War, Ear....

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