Подключение библиотек в Java

Как подключить библиотеки к проекту в Eclipse, с помощью Maven/Ant или вручную.
02 ноября 2017Cbc0f0509128ea8a7487ec71c1240fb531db396bМария Лисянская135663

Библиотека — готовый набор классов и компонентов, который встраивают в программу, чтобы реализовать некий функционал. Например, в тысячах казуальных игр музыку можно проигрывать одним и тем же способом. Чтобы не тратить время на работу со звуком, программисту достаточно подключить подходящую библиотеку.

Подключение Джава-библиотек в Eclipse

Если вы пользуетесь средой разработки Eclipse, подключение библиотек в Java займёт у вас меньше минуты:

  • Разворачиваем дерево проекта в Package Explorer и находим папку libs. Если её нет — создаем.

  • Кладем нужный .jar в libs.

  • В появившемся окне выбираем «копирование файлов» (copy files) и жмём OK.

  • Обновляем проект: правый клик — "Refresh".

Классы подключены и готовы к вызову из нашей программы.

Подключение библиотек Java в Maven и Apache-Ant

Минус подключения библиотек через IDE в том, что для пересборки проекта на другой машине нужна та же среда. Чтобы не зависеть от среды, используют системы сборки Maven и Ant.

Чтобы  «прикрутить» библиотеку к проекту Maven, нужно указать её среди зависимостей в файле pom.xml. С библиотекой может подтянуться еще несколько зависимостей, которые подключаются к этой библиотеке. В случае с jar этого не происходит.

Как будет выглядеть наш pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>ru.team.project</groupId>     <artifactId>test-app</artifactId>
    <version>1.0</version>
    <dependencies>
<!---Зависимости ---->
       <dependency>
<!---Идентификаторы библиотеки
Допустим, нам нужна Javassist для редактирования байткода.
---->
           <groupId>org.javassist</groupId>
           <artifactId>javassist</artifactId>
           <version>3.21.0-GA</version>
       </dependency>
    </dependencies>
</project>

Теперь при компиляции проекта библиотека войдет в конечный .jar-файл.

В Ant принцип схожий, но редактировать нужно файл build.xml. Путь к подключаемым библиотекам пишут с помощью тегов <classpath> и <path>. Сначала объясняем, где искать библиотеку:


<property name="lib.dir" value="lib"/>
<path id="my.classpath">
<fileset dir="${lib.dir}" includes="**/*.jar"/>
</path>

И далее передаём этот адрес тегу <classpath>:


<target….>
    <javac….>
    <classpath field=”my.classpath”/>
    </javac>
</target>

Как подключить Java-библиотеку вручную

Ваша IDE умеет подключать библиотеки, но как она это делает? Давайте посмотрим, что происходит на уровне файлов. Если библиотека написана на Джаве, её компоненты хранятся либо в архиве  .jar, либо в исходниках .java. Более сложный вариант с интеграцией библиотек на C++ пока рассматривать не будем.

Подключение jar-библиотек в Java

Если на компьютере только одна версия Джавы — всё просто. Чтобы подключить .jar, достаточно положить его в папку lib директории Java на жестком диске. Виртуальная машина при ближайшем запуске сама возьмет код из библиотеки.

Когда вы используете одновременно несколько версий Java-машины, раскладывать файлы библиотек для каждой из них утомительно. Лучше указать путь к нужным классам с помощью ключа -classpath.

Открываем терминал и пишем:

java -classpath ./classes ru.аuthor.libname.Main

ru.аuthor.libname.Main — наша библиотека

Точкой перед «/» отмечают текущую директорию.

Можно перечислить несколько библиотек, код из которых компилятор соберет в порядке их перечисления:

java -classpath ./classes;./lib/l1-0.1.jar;./lib/l2-1.5.jar ru.аuthor.libname.Main

Теперь вы умеете подключать библиотеки даже в нестандартной ситуации: когда не установлена IDE или нужно скорректировать очередность подключения.

java_developerantmaveneclipsejava libsjarjava
Нашли ошибку в тексте? Напишите нам.

Новые комментарии