Cổ vật là gì và tại sao Maven cần nó?
maven-metadata.xml
và một tệp được gọi <artifactId>-<version>.pom
. Cả hai tệp này đều có một số lược đồ và ngữ nghĩa không có giấy tờ.
Cổ vật là gì và tại sao Maven cần nó?
maven-metadata.xml
và một tệp được gọi <artifactId>-<version>.pom
. Cả hai tệp này đều có một số lược đồ và ngữ nghĩa không có giấy tờ.
Câu trả lời:
Artifact là một tệp, thường là JAR, được triển khai vào kho lưu trữ Maven.
Bản dựng Maven tạo ra một hoặc nhiều tạo phẩm, chẳng hạn như JAR được biên dịch và JAR "nguồn".
Mỗi tạo phẩm có một ID nhóm (thường là một tên miền đảo ngược, như com.example.foo), ID tạo tác (chỉ một tên) và một chuỗi phiên bản. Cả ba cùng xác định duy nhất hiện vật.
Các phụ thuộc của dự án được chỉ định là các tạo phẩm.
Theo thuật ngữ phần mềm nói chung, " tạo tác " là thứ được tạo ra bởi quy trình phát triển phần mềm, cho dù đó là tài liệu liên quan đến phần mềm hoặc tệp thực thi.
Trong thuật ngữ Maven, tạo phẩm là kết quả đầu ra của bản dựng maven, thường là một jar
hoặc war
hoặc tệp thực thi khác. Các tạo phẩm trong maven được xác định bởi một hệ tọa độ gồm groupId, artifactId và phiên bản. Maven sử dụng groupId
, artifactId
và version
để xác định phụ thuộc (thường là file jar khác) cần thiết để xây dựng và chạy mã của bạn.
Tôi biết đây là một chủ đề cổ xưa nhưng tôi muốn thêm một vài sắc thái.
Có các tạo tác Maven, các tạo phẩm của trình quản lý kho lưu trữ và sau đó có các Maven Artifact
.
Một tạo tác của Maven cũng giống như những người bình luận / trả lời khác nói: đó là một điều được nói ra bằng cách xây dựng một dự án Maven. Đó có thể là một .jar
tập tin, hoặc một .war
tập tin, hoặc một .zip
tập tin, hoặc một .dll
hoặc những gì có bạn.
Một tạo phẩm của trình quản lý kho lưu trữ là một thứ được quản lý bởi một trình quản lý kho lưu trữ. Trình quản lý kho lưu trữ về cơ bản là một dịch vụ đặt tên hiệu suất cao cho các thư viện và phần mềm thực thi phần mềm. Người quản lý kho lưu trữ không quan tâm các tạo phẩm của nó đến từ đâu (có thể chúng đến từ bản dựng Maven, hoặc tệp cục bộ hoặc bản dựng Ant hoặc phần tổng hợp bằng tay ...).
Maven Artifact
là một lớp Java đại diện cho loại "tên" được trình quản lý kho lưu trữ thành một trình quản lý kho lưu trữ. Khi được sử dụng theo nghĩa này, một Artifact
chỉ là một tên tôn vinh tạo thành từ các bộ phận như groupId
, artifactId
, version
, scope
, classifier
và vân vân.
Để kết hợp tất cả lại với nhau:
Artifact
s bằng các <dependency>
yếu tố của nó .Artifact
tệp đó thành các tệp bằng cách hướng dẫn trình quản lý kho lưu trữ gửi cho nó một số tạo phẩm của trình quản lý kho tương ứng với các tệp bên trong Artifact
.Mong rằng sẽ giúp.
mvn install
, mọi người đang cố gắng tìm ra những gì để đưa vào mục đó. Vì vậy, tên đầy đủ của bình là những gì để nhập -DartifactId=YOUR_ARTIFACT_ID
, phải không? Tên tệp jar đầy đủ với phiên bản và .jar? Có vẻ như những gì bạn đang nói nhưng sẽ giúp một số người thực sự rõ ràng. Các câu trả lời khác gần với điều này nhưng tôi nghĩ tốt nhất của bạn.
Maven tổ chức xây dựng của nó trong các dự án.
Một artifact
trong maven là một tài nguyên được tạo ra bởi một dự án maven. Mỗi dự án maven có thể có chính xác một artifact
như một jar, war, ear
, v.v.
Tệp cấu hình của dự án "pom.xml"
mô tả cách tạo tác được tạo ra, cách chạy thử nghiệm đơn vị, v.v. ) tạo thành sản phẩm.
Ví dụ
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
Các tạo phẩm của Maven không giới hạn tài nguyên java. Bạn có thể tạo bất cứ tài nguyên nào bạn cần. Ví dụ: tài liệu, trang web dự án, kho lưu trữ zip, thư viện gốc, v.v.
Mỗi dự án maven có một định danh duy nhất cho phép [groupId, artifactId, version]
. Khi một dự án maven yêu cầu tài nguyên của một dự án khác, một phụ thuộc được cấu hình trong đó pom.xml
sử dụng mã định danh được đề cập ở trên. Maven sau đó tự động giải quyết các phụ thuộc khi kích hoạt bản dựng. Các tạo phẩm của các dự án bắt buộc sau đó được tải từ cục bộ repository
, là một thư mục đơn giản trong nhà của người dùng của bạn hoặc từ các kho lưu trữ (từ xa) khác được chỉ định trong bạn pom.xml
.
Q. Artifact trong maven là gì?
ANS: ARTIFACT là một JAR, (WAR hoặc EAR), nhưng nó cũng có thể là một cái gì đó khác. Mỗi cổ vật có,
Q: Tại sao Maven cần chúng?
Trả lời: Maven được sử dụng để cung cấp chúng cho các ứng dụng của chúng tôi.
-DartifactId=YOUR_ARTIFACT_ID
khi chạy cài đặt mvn, chỉ là một gợi ý :)
Để maven, quá trình xây dựng được sắp xếp như một bộ tạo tác. Hiện vật bao gồm:
Hiện vật sống trong kho.
thông thường chúng ta nói về thuật ngữ Maven về Id nhóm, Id Artifact và Phiên bản chụp nhanh
Id nhóm: danh tính của nhóm dự án Artifact Id: danh tính của dự án Phiên bản chụp nhanh: phiên bản được sử dụng bởi dự án.
Artifact không có gì ngoài một số tệp kết quả như Jar, War, Ear ....
nói đơn giản là Artifacts không có gì ngoài các gói.