【问题标题】:Would a jar file be considered an artifact?jar 文件会被视为工件吗?
【发布时间】:2021-08-07 03:47:31
【问题描述】:

目前我正在学习 maven,在学习它后,我在 Wikipedia 上遇到了以下定义:

在软件开发中,构建是将源代码文件转换为可以在计算机上运行的独立软件工件的过程,或者是这样做的结果。

我假设在 java 中独立的工件将是 jar 文件,因为它是编译源代码的副产品,它可以独立运行。但是我不完全确定是否会出现这种情况。

【问题讨论】:

  • “工件”在大多数情况下确实是一个 jar,但它可以是您的项目生成的任何东西,warear 甚至是 PDF 文档
  • 是的。 Maven 尽量不将自己归类为只能构建 Java 项目的东西,因此您可能会发现某些文档有些模糊。他们试图避免说“将 Java 源代码转换为 JAR”之类的话,因为这不是它所能做的全部。在实践中,99% 的时间,Java 项目都是 Maven 的用途。对于大多数 Java 项目,JAR 将成为您的主要工件。您可能会越来越多地制作 Docker 映像甚至是原生可执行文件(例如 graalvm),而不是 JAR
  • ...或 XML 报告 (JaCoCo),或 HTML 页面 (JavaDoc),或...
  • 字节码文件本身可以被认为是人工制品吗?

标签: java maven build


【解决方案1】:

在尝试理解术语时,维基百科永远只是次要来源。

Apache Maven Glossary 说:

工件:工件是项目生产或使用的东西。 Maven 为项目生成的工件示例包括:JAR、源代码和二进制分发、WAR。每个工件由组 ID、工件 ID、版本、扩展和分类器标识(扩展+分类器可以按类型命名)。

(可能有更多比这更权威的来源。如果有人能找到它,请发表评论。)

所以,是的,根据 Maven 术语,JAR 是工件的一个示例。

请注意,在 Maven 使用该概念的意义上,JAR 不需要由 Maven 生成即可成为工件。您可以获取通过(例如)手动运行 jar 命令生成的 JAR 文件,然后通过将其添加到本地存储库来为其赋予工件坐标。

【讨论】:

    猜你喜欢
    • 2012-06-14
    • 1970-01-01
    • 1970-01-01
    • 2017-11-18
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多