什么是工件,Maven为什么需要它?
当前回答
工件是一个JAR或存储在存储库中的东西。Maven将它们取出并构建您的代码。
其他回答
我知道这是一个古老的线索,但我想添加一些细微差别。
有Maven构件,存储库管理器构件,还有Maven构件。
Maven工件正如其他评论者/响应者所说:它是通过构建Maven项目而产生的东西。可以是。jar文件,或。war文件,或。zip文件,或。dll文件,等等。
存储库管理器工件是由存储库管理器管理的东西。存储库管理器基本上是用于软件可执行文件和库的高性能命名服务。存储库管理器并不关心其构件来自何处(可能来自Maven构建、本地文件、Ant构建或手工编译……)。
Maven Artifact是一个Java类,它表示由存储库管理器解引用到存储库管理器工件的那种“名称”。当在这种意义上使用时,Artifact只是一个由groupId、artifactId、版本、范围、分类器等部分组成的美化名称。
把它们放在一起:
Your Maven project probably depends on several Artifacts by way of its <dependency> elements. Maven interacts with a repository manager to resolve those Artifacts into files by instructing the repository manager to send it some repository manager artifacts that correspond to the internal Artifacts. Finally, after resolution, Maven builds your project and produces a Maven artifact. You may choose to "turn this into" a repository manager artifact by, in turn, using whatever tool you like, sending it to the repository manager with enough coordinating information that other people can find it when they ask the repository manager for it.
希望这能有所帮助。
在一般的软件术语中,“工件”是由软件开发过程产生的东西,无论是与软件相关的文档还是可执行文件。
在Maven术语中,工件是Maven构建的结果输出,通常是jar或war或其他可执行文件。maven中的工件由groupId、artifactId和version组成的坐标系统标识。Maven使用groupId、artifactId和version来标识构建和运行代码所需的依赖项(通常是其他jar文件)。
对于maven,构建过程被安排为一组工件。产品包括:
组成Maven本身的插件。 代码所依赖的依赖项。 构建生成的任何东西都可能被其他东西消耗。
工件存在于存储库中。
工件是部署到Maven存储库的文件,通常是JAR。
Maven构建生成一个或多个工件,例如编译后的JAR和“源”JAR。
每个工件都有一个组ID(通常是反向域名,如com.example.foo)、一个工件ID(只是一个名称)和一个版本字符串。三者合在一起唯一地识别了这个神器。
项目的依赖项被指定为工件。
工件是一个JAR或存储在存储库中的东西。Maven将它们取出并构建您的代码。
推荐文章
- Java中枚举的命名:单数还是复数?
- JavaBean和POJO之间的区别是什么?
- 注释在Java中如何使用,在哪里使用?
- 如何在Ubuntu下安装JDK 11 ?
- Spring Boot -无法确定数据库类型为NONE的嵌入式数据库驱动程序类
- 如何转换/解析从字符串到字符在java?
- Java编译器级别与安装的Java项目facet的版本不匹配
- 如何在Android中动态更改菜单项文本
- 如何比较两个没有时间部分的日期?
- 如何在Java中找到给定类的所有子类?
- 匿名类的访问构造函数
- 从Java访问Kotlin扩展函数
- 解析LocalDateTime时无法从TemporalAccessor获取LocalDateTime (Java 8)
- 以AM/PM的12小时格式显示当前时间
- 求两个集合的差值