Создание по сравнению с компиляцией (Java)

Думая, что ответ на это довольно очевиден, но здесь он идет:

Когда я работаю над маленьким проектом для школы (в Java), я компилирую его.

На моем кооперативе мы используем муравья для разрабатывания нашего проекта.

Я думаю, что компиляция является подмножеством здания. Это корректно? Каково различие между созданием и компиляцией?

Похожие страницы:
Каково различие между компиляцией и зданием?

126
задан Community 23 May 2017 в 12:34
поделиться

6 ответов

«Сборка» - это процесс, который охватывает все шаги, необходимые для создания «конечного продукта» вашего программного обеспечения. В мире Java это обычно включает:

  1. Генерацию источников (иногда).
  2. Составление исходных текстов.
  3. Сборка тестовых исходников.
  4. Выполнение тестов (модульные тесты, интеграционные тесты и т. Д.).
  5. Упаковка (в банку, войну, эйб-банку, ухо).
  6. Выполнение проверок работоспособности (статические анализаторы, такие как Checkstyle, Findbugs, PMD, покрытие тестами и т. Д.).
  7. Формирование отчетов.

Итак, как видите, компиляция - это только (небольшая) часть сборки (и лучше всего полностью автоматизировать все шаги с помощью таких инструментов, как Maven или Ant, а также непрерывно запускать сборку, известную как ] Непрерывное интегрирование ).

216
ответ дан 24 November 2019 в 00:51
поделиться

Простыми словами

Компиляция переводит код Java (человеческий читаемый) в байт-код , поэтому виртуальная машина понимает это.

Сборка объединяет все скомпилированные части и создает (строит) исполняемый файл .

9
ответ дан 24 November 2019 в 00:51
поделиться

Некоторые из ответов, которые я здесь вижу, вырваны из контекста и имеют больше смысла, если бы это был вопрос C / C ++.

Краткая версия:

  • «Компиляция» превращает файлы .java в файлы .class
  • «Сборка» - это общий термин, который включает компиляцию и другие задачи.

«Сборка» - это универсальный термин. Термин описывает общий процесс, который включает в себя компиляцию. Например, процесс сборки может включать инструменты, которые генерируют код Java или файлы документации.

Часто будут присутствовать дополнительные этапы, такие как «пакет», который берет все ваши файлы .class и помещает их в .jar, или "чистый", который очищает файлы .class и временные каталоги.

41
ответ дан 24 November 2019 в 00:51
поделиться

Компиляция - это преобразование исходного кода в объектный код.

Связывание - это процесс объединения объектного кода с библиотеками в необработанный исполняемый файл.

Сборка - это последовательность, состоящая из компиляции и связывания с, возможно, другими задачами, такими как создание установщика.

Многие компиляторы обрабатывают этап связывания автоматически после компиляции исходного кода.

В чем разница между кодом компиляции и исполняемым кодом?

29
ответ дан 24 November 2019 в 00:51
поделиться

На самом деле вы делаете то же самое. Ant - это система сборки, основанная на файлах конфигурации XML, которая может выполнять широкий спектр задач, связанных с компиляцией программного обеспечения. Компиляция вашего java-кода - лишь одна из этих задач. Есть много других, таких как копирование файлов, настройка серверов, сборка zip-архивов и jar-файлов, а также компиляция других языков, таких как C.

Вам не нужен Ant для компиляции вашего программного обеспечения. Вы можете сделать это вручную, как в школе. Другой альтернативой Ant является продукт под названием Maven. И Ant, и Maven делают одно и то же, но совершенно по-разному.

Посмотрите Ant и Maven для получения дополнительных сведений.

4
ответ дан 24 November 2019 в 00:51
поделиться

Компиляция - это просто преобразование исходного кода в двоичный, сборка - это компиляция и связывание любых других файлов, необходимых в каталоге сборки

0
ответ дан 24 November 2019 в 00:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: