【发布时间】:2021-08-07 03:47:31
【问题描述】:
目前我正在学习 maven,在学习它后,我在 Wikipedia 上遇到了以下定义:
在软件开发中,构建是将源代码文件转换为可以在计算机上运行的独立软件工件的过程,或者是这样做的结果。
我假设在 java 中独立的工件将是 jar 文件,因为它是编译源代码的副产品,它可以独立运行。但是我不完全确定是否会出现这种情况。
【问题讨论】:
-
“工件”在大多数情况下确实是一个 jar,但它可以是您的项目生成的任何东西,
war、ear甚至是 PDF 文档 -
是的。 Maven 尽量不将自己归类为只能构建 Java 项目的东西,因此您可能会发现某些文档有些模糊。他们试图避免说“将 Java 源代码转换为 JAR”之类的话,因为这不是它所能做的全部。在实践中,99% 的时间,Java 项目都是 Maven 的用途。对于大多数 Java 项目,JAR 将成为您的主要工件。您可能会越来越多地制作 Docker 映像甚至是原生可执行文件(例如 graalvm),而不是 JAR
-
...或 XML 报告 (JaCoCo),或 HTML 页面 (JavaDoc),或...
-
字节码文件本身可以被认为是人工制品吗?