Подтвердить что ты не робот

В чем разница между "зависимостьми модулей" и "библиотеками" в IntelliJ IDEA?

В чем разница между "Зависимости модулей" и "Библиотеки" в IntelliJ IDEA, если вы хотите добавить библиотеку .jar в свой проект? Кроме того, Что такое флажок "Экспорт" при добавлении библиотеки .jar в "Зависимости модулей" в IntelliJ IDEA?

В каждом из этих способов, как классы и код внутри встроенной библиотеки .jar интегрированы в ваш окончательный проект (код) при создании вновь созданного файла .jar?

4b9b3361

Ответ 1

Зависимости модулей - это классы, архивы, библиотеки и ресурсы, которые ссылаются на файлы модулей. Хотя библиотека представляет собой набор файлов классов, хранящихся в архиве или каталоге.

Экспортировать средство проверки, если оно отмечено, эта библиотека будет неявно добавлена ​​в другой модуль, который ссылается на этот.

Чтобы создать файл .jar, вам необходимо создать артефакт. Артефакт - это заполнитель здания. Существуют предопределенные шаблоны для создания архивов .jar,.war,.ear. Вы можете выбрать банку для создания артефакта банки. По умолчанию он определен пустым, и вам нужно определить содержание артефакта. Вы можете перетащить скомпилированный вывод на него, но не делать этого с библиотечными архивами. Поскольку библиотеки в этом случае будут упакованы внутри файла .jar, вам потребуется создать отдельный загрузчик классов для их загрузки до запуска приложения. Вместо этого вы изменяете тип артефакта на "Другое" и перетаскиваете .jar и зависимые библиотеки в выходной корень. Таким образом библиотечные архивы будут скопированы вместе с созданным .jar. Вам также необходимо создать MANIFEST.MF и указать Class-Path для зависимых библиотек. Все файлы будут сохранены в каталоге, который вы указали для создания артефакта. Вы можете создать его, используя меню "Построить артефакт".

Ответ 2

Если ваш проект содержит несколько модулей, "зависимость модуля" определяет зависимости между этими модулями, но библиотеки - это скомпилированные классы (обычно файлы jar, необязательно содержащие их источники и javadocs), которые используются вашим модулем.

Каждый модуль может иметь свои собственные библиотеки и артефакты (например, файл jar файла результата) и может зависеть от других модулей без циклической зависимости.

Ответ 3

вкладка "Зависимости модулей" может содержать Библиотеки, Экспорт означает, что библиотека из модуля будет также доступна для другого модуля, который зависит от этого модуль.

Финал jar со всеми зависимостями может быть создан с помощью Artifacts.

Ответ 4

"В IntelliJ IDEA библиотеки могут быть определены на трех уровнях: глобальный (доступен для многих проектов), проект (доступен для всех модулей в проекте) и модуль (доступен для одного модуля)".

  • Глобальная библиотека устанавливается через Структура проекта\Настройки платформы\Глобальные библиотеки
  • Библиотека проекта настраивается через Структура проекта\Настройки проекта\Библиотеки
  • Библиотека модулей задается через Структура проекта\Настройки проекта\Модули\Зависимости