btw Oficjalny słownik Apache Maven do definicji artefaktu
informatik01
1
Żadna z tych odpowiedzi nie jest kompletna. Możesz to zobaczyć po prostu przeglądając repozytorium Maven . Artefakt jest najwyraźniej katalogiem spełniającym pewne ograniczenia, np. Musi zawierać plik o nazwie maven-metadata.xmli plik o nazwie <artifactId>-<version>.pom. Oba te pliki mają jakiś nieudokumentowany schemat i semantykę.
jameshfisher
Odpowiedzi:
303
Artefakt to plik, zwykle JAR, który jest wdrażany w repozytorium Maven.
Kompilacja Maven produkuje jeden lub więcej artefaktów, takich jak skompilowany plik JAR i plik JAR „źródła”.
Każdy artefakt ma identyfikator grupy (zwykle odwróconą nazwę domeny, taką jak com.example.foo), identyfikator artefaktu (tylko nazwa) i ciąg wersji. Trzy razem jednoznacznie identyfikują artefakt.
Czy artefakt jest w zasadzie plikiem JAR? Tak więc plik jar czasu Joda można nazwać artefaktem Joda, hibernację słoika można nazwać artefaktem hibernacji itp.?
David Blaine
47
Pomyśl o tym, czym naprawdę jest artefakt. Egipcjanie stworzyli wspaniałe artefakty, takie jak ceramika. Ale jeśli trzymasz egipską miskę w dłoni, nie nazwałbyś jej „artefaktem”, chyba że omawiałbyś fakt, że JEST to artefakt (fakt). Nazywasz to miską. Zjedli z miski. Nie jedli z artefaktu.
cbmeeks,
3
Myślę, że @cbmeeks ma na myśli to, że „artefakt” nie jest nazwą „rzeczy”, lecz rolę w procesie kompilacji. Wszystko może zostać zaklasyfikowane jako „artefakt”, jeśli Maven go wytworzy i otrzyma specjalne współrzędne Maven, aby go zidentyfikować.
Garret Wilson,
Jeśli mam coś o nazwie „com.example: mylibrary: 1.0.0” (groupId: artefactId: wersja), który składa się ze słoika, pom i słoika źródłowego, który z poniższych jest artefaktem: 1. każdy plik (pom, jar, source jar) to osobny artefakt; 2. Zbiór plików, które dzielą to samo (groupId: artefactId: wersja) tworzą pojedynczy artefakt; 3. coś jeszcze?
Laurence Gonsalves
Nie wyjaśniasz, jak uzyskać groupid i artefakt, biorąc pod uwagę nazwę klasy. Downvote
Philip Rego,
114
Ogólnie rzecz biorąc, „ artefakt ” to coś, co powstaje w procesie tworzenia oprogramowania, niezależnie od tego, czy jest to dokumentacja związana z oprogramowaniem, czy plik wykonywalny.
W terminologii Maven, artefakt jest Wynikiem z produkcji Maven ogólnie jarlub warlub innych plików wykonywalnych. Artefakty w maven są identyfikowane przez układ współrzędnych groupId, artefactId i wersji. Maven używa groupId, artifactIdoraz versionzidentyfikować współzależności (zazwyczaj inne pliki JAR) potrzebne do zbudowania i uruchomienia kodu.
Moja książka mówi: „głównym artefaktem tej aplikacji online będzie klasa Java o nazwie Użytkownik, która…” Czy to ten sam artefakt, o którym wspominałeś?
David Blaine
@davidblaine - nie do końca, to zdanie używa tego słowa w bardziej ogólnym znaczeniu.
Ken Liu
27
Wiem, że to starożytny wątek, ale chciałem dodać kilka niuansów.
Są artefakty Maven, artefakty menedżera repozytorium, a następnie są Maven Artifact.
Artefakt Maven jest taki, jak mówią inni komentatorzy / respondenci: jest to rzecz, która jest wypluwana poprzez budowanie projektu Maven. Może to być .jarplik, .warplik, .zipplik, a .dlllub cokolwiek innego .
Artefakt menedżera repozytorium jest rzeczą zarządzaną przez menedżera repozytorium. Menedżer repozytorium jest w zasadzie wysoce wydajną usługą nazewnictwa plików wykonywalnych i bibliotek oprogramowania. Menedżer repozytorium nie dba o to, skąd pochodzą artefakty (być może pochodzą one z kompilacji Maven, pliku lokalnego, kompilacji Ant lub kompilacji ręcznej ...).
Maven Artifactto klasa Java, która reprezentuje rodzaj „nazwy”, która jest odrywana przez menedżera repozytorium na artefakt menedżera repozytorium. Przy zastosowaniu w tym sensie, Artifacttylko uwielbione imię składa się z takich elementów jak: groupId, artifactId, version, scope, classifieri tak dalej.
Podsumowując:
Twój projekt Maven prawdopodobnie zależy od kilku Artifactsekund za pomocą jego <dependency>elementów.
Maven wchodzi w interakcję z menedżerem repozytorium w celu Artifactprzekształcenia tych plików w pliki, instruując menedżera repozytorium, aby wysłał mu artefakty menedżera repozytorium odpowiadające wewnętrznym Artifact.
Wreszcie po rozwiązaniu Maven tworzy projekt i wytwarza artefakt Maven. Możesz „przekształcić to w” artefakt menedżera repozytorium, z kolei za pomocą dowolnego narzędzia, które ci się podoba, wysyłając go do menedżera repozytorium z wystarczającą ilością informacji koordynujących, aby inni ludzie mogli go znaleźć, gdy poprosą o to menedżera repozytorium.
+1 za nowe informacje o starym wątku dzięki! Napraw literówkę „repozytorium”, chociaż czasami kupa może być właściwym słowem haha ... wszyscy mówią, że „artefakt” jest faktycznym słoikiem, może być pomocne, aby zaktualizować swoją odpowiedź, aby wskazać, że na przykład mvn installludzie są próbując dowiedzieć się, co umieścić w tym wpisie. Więc, żeby podać pełną nazwę słoika -DartifactId=YOUR_ARTIFACT_ID, prawda? Pełna nazwa pliku jar z wersją i .jar? Wydaje się, że to, co mówisz, ale pomogłoby niektórym wyrazić się naprawdę jasno. Inne odpowiedzi zbliżają się do tego, ale myślałem, że twoje najlepiej.
JimLohse,
23
Maven organizuje swoje projekty wbudowane.
W artifactmaven to zasób generowany przez projekt maven. Każdy projekt maven może mieć dokładnie taki artifactjak jar, war, earitp
. Plik konfiguracyjny projektu "pom.xml"opisuje sposób budowania artefaktu, sposób przeprowadzania testów jednostkowych itp. Zwykle kompilacja projektu oprogramowania za pomocą maven składa się z wielu projektów maven, które budują artefakty (np. Słoiki ), które stanowią produkt.
Na przykład
Root-Project// produces no artifact, simply triggers the build of the other projectsApp-Project// The application, that uses the librariesLib1-Project// A project that creates a library (jar)Lib2-Project// Another libraryDoc-Project// A project that generates the user documentation from some resources
Artefakty Maven nie są ograniczone do zasobów Java. Możesz wygenerować potrzebne zasoby. Np. Dokumentacja, strona projektu, archiwa zip, biblioteki natywne itp.
Każdy projekt maven ma unikalny identyfikator [groupId, artifactId, version]. Gdy projekt maven wymaga zasobów innego projektu, konfiguruje się zależność, w której pom.xmlwykorzystuje on wyżej wspomniany identyfikator. Następnie Maven automatycznie rozwiązuje zależności po uruchomieniu kompilacji. Artefakty wymaganych projektów są następnie ładowane albo z lokalnego repository, który jest prostym katalogiem w domu użytkownika, albo z innych (zdalnych) repozytoriów określonych w tobie pom.xml.
Ładna odpowiedź, ponieważ skomentowałem inną odpowiedź , wyraź wyraźnie, w co powinniśmy pisać -DartifactId=YOUR_ARTIFACT_IDpodczas instalacji mvn, tylko sugestia :)
JimLohse
@JimLohse dzięki, zachęcamy do dodania tytułu „edytuj” :)
VdeX
9
Artefakt to plik JAR lub coś, co przechowujesz w repozytorium. Maven wyciąga je i buduje kod.
maven-metadata.xml
i plik o nazwie<artifactId>-<version>.pom
. Oba te pliki mają jakiś nieudokumentowany schemat i semantykę.Odpowiedzi:
Artefakt to plik, zwykle JAR, który jest wdrażany w repozytorium Maven.
Kompilacja Maven produkuje jeden lub więcej artefaktów, takich jak skompilowany plik JAR i plik JAR „źródła”.
Każdy artefakt ma identyfikator grupy (zwykle odwróconą nazwę domeny, taką jak com.example.foo), identyfikator artefaktu (tylko nazwa) i ciąg wersji. Trzy razem jednoznacznie identyfikują artefakt.
Zależności projektu są określone jako artefakty.
źródło
Ogólnie rzecz biorąc, „ artefakt ” to coś, co powstaje w procesie tworzenia oprogramowania, niezależnie od tego, czy jest to dokumentacja związana z oprogramowaniem, czy plik wykonywalny.
W terminologii Maven, artefakt jest Wynikiem z produkcji Maven ogólnie
jar
lubwar
lub innych plików wykonywalnych. Artefakty w maven są identyfikowane przez układ współrzędnych groupId, artefactId i wersji. Maven używagroupId
,artifactId
orazversion
zidentyfikować współzależności (zazwyczaj inne pliki JAR) potrzebne do zbudowania i uruchomienia kodu.źródło
Wiem, że to starożytny wątek, ale chciałem dodać kilka niuansów.
Są artefakty Maven, artefakty menedżera repozytorium, a następnie są Maven
Artifact
.Artefakt Maven jest taki, jak mówią inni komentatorzy / respondenci: jest to rzecz, która jest wypluwana poprzez budowanie projektu Maven. Może to być
.jar
plik,.war
plik,.zip
plik, a.dll
lub cokolwiek innego .Artefakt menedżera repozytorium jest rzeczą zarządzaną przez menedżera repozytorium. Menedżer repozytorium jest w zasadzie wysoce wydajną usługą nazewnictwa plików wykonywalnych i bibliotek oprogramowania. Menedżer repozytorium nie dba o to, skąd pochodzą artefakty (być może pochodzą one z kompilacji Maven, pliku lokalnego, kompilacji Ant lub kompilacji ręcznej ...).
Maven
Artifact
to klasa Java, która reprezentuje rodzaj „nazwy”, która jest odrywana przez menedżera repozytorium na artefakt menedżera repozytorium. Przy zastosowaniu w tym sensie,Artifact
tylko uwielbione imię składa się z takich elementów jak:groupId
,artifactId
,version
,scope
,classifier
i tak dalej.Podsumowując:
Artifact
sekund za pomocą jego<dependency>
elementów.Artifact
przekształcenia tych plików w pliki, instruując menedżera repozytorium, aby wysłał mu artefakty menedżera repozytorium odpowiadające wewnętrznymArtifact
.Mam nadzieję, że to pomaga.
źródło
mvn install
ludzie są próbując dowiedzieć się, co umieścić w tym wpisie. Więc, żeby podać pełną nazwę słoika-DartifactId=YOUR_ARTIFACT_ID
, prawda? Pełna nazwa pliku jar z wersją i .jar? Wydaje się, że to, co mówisz, ale pomogłoby niektórym wyrazić się naprawdę jasno. Inne odpowiedzi zbliżają się do tego, ale myślałem, że twoje najlepiej.Maven organizuje swoje projekty wbudowane.
W
artifact
maven to zasób generowany przez projekt maven. Każdy projekt maven może mieć dokładnie takiartifact
jakjar, war, ear
itp. Plik konfiguracyjny projektu
"pom.xml"
opisuje sposób budowania artefaktu, sposób przeprowadzania testów jednostkowych itp. Zwykle kompilacja projektu oprogramowania za pomocą maven składa się z wielu projektów maven, które budują artefakty (np. Słoiki ), które stanowią produkt.Na przykład
Artefakty Maven nie są ograniczone do zasobów Java. Możesz wygenerować potrzebne zasoby. Np. Dokumentacja, strona projektu, archiwa zip, biblioteki natywne itp.
Każdy projekt maven ma unikalny identyfikator
[groupId, artifactId, version]
. Gdy projekt maven wymaga zasobów innego projektu, konfiguruje się zależność, w którejpom.xml
wykorzystuje on wyżej wspomniany identyfikator. Następnie Maven automatycznie rozwiązuje zależności po uruchomieniu kompilacji. Artefakty wymaganych projektów są następnie ładowane albo z lokalnegorepository
, który jest prostym katalogiem w domu użytkownika, albo z innych (zdalnych) repozytoriów określonych w tobiepom.xml
.źródło
P: Co to jest Artefakt w maven?
ODPOWIEDŹ: ARTIFACT to Słoik (WOJNA lub UCHA), ale może to być także coś innego. Każdy artefakt ma
Trzy razem jednoznacznie identyfikują artefakt.
P: Dlaczego Maven ich potrzebuje?
Odp .: Maven służy do udostępniania ich w naszych aplikacjach.
źródło
-DartifactId=YOUR_ARTIFACT_ID
podczas instalacji mvn, tylko sugestia :)Artefakt to plik JAR lub coś, co przechowujesz w repozytorium. Maven wyciąga je i buduje kod.
źródło
Aby zrównać, proces kompilacji jest ułożony jako zestaw artefaktów. Artefakty obejmują:
Artefakty żyją w repozytoriach.
źródło
zwykle mówimy terminologią Maven o identyfikatorze grupy, identyfikatorze artefaktu i wersji migawki
Identyfikator grupy: tożsamość grupy projektu Identyfikator artefaktu: tożsamość projektu Wersja migawki: wersja używana przez projekt.
Artefakt to nic innego, jak niektóre wynikowe pliki, takie jak Jar, War, Ear ....
po prostu mówi, że Artefakty to nic innego jak paczki.
źródło