java - 构建与编译 (Java)

认为这个问题的答案很明显,但它就是这样:

当我在为学校(在 java 中)做一个小项目时,我编译它。

在我的合作社中,我们使用 ant 来构建我们的项目。

我认为编译是构建的一个子集。这个对吗?构建和编译有什么区别?

Related:
What is the difference between compiling and building?

最佳答案

“构建”是一个涵盖创建软件“可交付成果”所需的所有步骤的过程。在 Java 世界中,这通常包括:

  1. 生成来源(有时)。
  2. 编译源代码。
  3. 编译测试源代码。
  4. 执行测试(单元测试、集成测试等)。
  5. 打包(放入jar、war、ejb-jar、ear)。
  6. 运行运行状况检查(静态分析器,如 Checkstyle、Findbugs、PMD、测试覆盖率等)。
  7. 生成报告。

如您所见,编译只是构建的一小部分(最佳实践是使用 Maven 或 Ant 等工具完全自动化所有步骤,并连续运行构建,这称为 Continuous Integration) .

https://stackoverflow.com/questions/2650168/

相关文章:

java - leiningen - 如何为本地 jar 添加依赖项?

c# - 我应该使用调试信息编译发布版本 "full"或 "pdb-only"吗?

Xcode - 但是......我们的文件在哪里?

android - 错误 :Execution failed for task ':app:comp

java - 如何在 Maven 中读取外部属性文件

build - 编译代码和可执行代码有什么区别?

xml - 防止将引用的程序集 PDB 和 XML 文件复制到输出

build - gmake 和 make 有什么区别?

build - 什么是构建工具?

xcode - 无法附加到进程 ID Xcode