Как добавить JAR-файл в NetBeans
У меня возникла проблема с добавлением сторонней библиотеки в новый проект. Давайте рассмотрим, что происходит: я создаю новый проект и хочу, чтобы он использовал библиотеку, например, widget.jar
. Вопрос в том, куда правильно добавить этот JAR-файл:
- Файл >> Свойства проекта >> Библиотеки >> Библиотеки для компиляции; или
- Файл >> Свойства проекта >> Библиотеки >> Библиотеки для выполнения; или
- Инструменты >> Библиотеки (Менеджер библиотек) >> Класс пути библиотек; или
- Инструменты >> Java Платформы (Менеджер Java платформ).
Все эти диалоги выглядят очень похоже и, кажется, выполняют одни и те же функции, но я уверен, что у каждого из них есть свои особенности использования. Я не смог найти хорошую статью о "лучших практиках" добавления библиотек в Интернете, а справочная система NetBeans тоже не дает четкого ответа на этот вопрос. Как лучше поступить в данной ситуации?
3 ответ(ов)
Правой кнопкой мыши кликните по разделу 'libraries' в списке проекта, затем выберите 'добавить'.
Вы хотите добавить библиотеки в свой проект и, как вы уже упомянули, у вас есть два варианта:
Библиотеки времени компиляции — это библиотеки, необходимые для компиляции вашего приложения. Они не включаются в конечный артефакт (например, в war-файл). Библиотеки этого типа должны предоставить контейнер, в котором работает ваш проект.
Это полезно в ситуациях, когда вы хотите менять API и реализацию или когда библиотеку предоставляет контейнер (что, как правило, происходит с javax.servlet, которая необходима для компиляции, но поставляется с сервером приложений, например, Apache Tomcat).
Библиотеки времени выполнения — это библиотеки, которые необходимы как для компиляции, так и для выполнения вашего проекта. Вероятно, это именно то, что вам нужно в большинстве случаев. Например, если ваш проект упакован в war/ear, то эти библиотеки будут включены в пакет.
Что касается других вариантов, вы можете использовать либо глобальные библиотеки через Library Manager
, либо библиотеки jdk. Последние — это ваши обычные библиотеки Java, тогда как первые представляют собой способ хранения набора библиотек под общим именем. Для всех ваших будущих проектов вместо того, чтобы вручную добавлять библиотеки, вы сможете просто выбрать их для импорта из вашего Library Manager
.
Если в исходном коде вашего проекта есть инструкции импорта, ссылающиеся на классы из widget.jar, вам следует добавить этот JAR-файл в библиотеки для компиляции вашего проекта. (JAR-файл widget.jar будет автоматически добавлен в библиотеки времени выполнения вашего проекта). Это соответствует пункту (1).
Если в вашем исходном коде есть импорты для классов из другого JAR-файла, а исходный код этих классов содержит инструкции импорта, ссылающиеся на классы из widget.jar, вам следует добавить widget.jar в список библиотек времени выполнения. Это соответствует пункту (2).
Вы можете добавить JAR-файлы напрямую в список библиотек в свойствах проекта. Также можно создать библиотеку, содержащую JAR-файл, а затем включить эту библиотеку в список библиотек для компиляции или времени выполнения.
Если вы создадите библиотеку NetBeans для widget.jar, у вас также будет возможность ассоциировать исходный код содержимого JAR и Javadoc для API, определенных в widget.jar. Эта дополнительная информация о widget.jar будет использоваться NetBeans во время отладки кода, а также будет предоставляться при использовании автозавершения в редакторе.
Избегайте использования меню "Инструменты >> Java Platform" для добавления JAR-файла в проект. Этот диалог позволяет вам изменять classpath, который используется для компиляции и выполнения всех проектов, использующих созданную вами Java Platform. Это может быть полезно в определенных случаях, но почти полностью скрывает зависимость вашего проекта от widget.jar.
Инициализация ArrayList в одну строчку
Почему нет ConcurrentHashSet, если есть ConcurrentHashMap?
Что такое «сырые типы» и почему их не следует использовать?
Создание репозитория Spring без сущности
Как сгенерировать уникальный хеш-код для строкового ввода в Android?