Как только jar находится на пути класса выполнения, вы импортируете их в обычном режиме:
import the.package.and.name.of.TheClass;
Это связано с тем, что виртуальная машина Java имеет концепцию «пути к классу». Этот путь класса заполняется всеми файлами (классами и ресурсами), найденными в файлах jar и папках, размещенных в пути к классам.
Например, если у вас две jar и одна папка:
A.jar
com/
mycompany/
A.class
Another.class
B.jar
com/
mycompany/
B.class
neededImage.gif
bin-folder/
org/
apache/
Something.class
Из JVM POV у вас есть сумма всех этих папок, как если бы они были в одной папке.
Таким образом, вы можете свободно импортировать любой класс, который вам нужен, указав полное имя, независимо, если он находится внутри банки или в папке bin проекта.
На самом деле банки - это не более чем zip-файлы из папок, содержащие скомпилированные классы (и, в конечном итоге, другие ресурсы).
Класс путь объявляется JVM при запуске программы, используя ключ командной строки «-cp». Например, для предыдущих двух банок и одной папки в окнах вы должны были бы написать:
java -cp A.jar;B.jar;bin-folder your.main.class.Here