Як в jar файл включити інший jar файл?

JAR приклад

Необхідність включати в jar файл інші jar файли виникає практично завжди, коли ви використовуєте бібліотечні класи.

У таких випадках, а це 99% від всіх випадків, використовуємо заголовок Class-Path:

Class-Path: Lib/SBPJavaAcc.jar Lib/firebirdsql-full.jar

тут я вказав шлях до архіву SBPJavaAcc.jar і до архіву firebirdsql-full.jar обидва архіву знаходяться в папці Lib. Роздільник між архівами – пробіл.

І що ж робити з цим Class-Path? Його треба додати в маніфест.

Розглянемо приклад. В якості бібліотечного jar архіву задіємо JarFile.jar – це jar файл з попереднього розділу. І навчимося робити jar файли у середовищі Eclipse.

Ще Jar приклад

Створимо новий проект JarInJar, а в ньому пакет myJar: в jar файл включити інший jar файл

Створимо в пакеті myJar клас MainJar (встановіть прапорець public static void main(String[] args)) і змінимо створений майстром код:

Тепер додамо в проект папку Hilfe: правою кнопкою по кореневій папці проекту -> New -> Folder. Додамо зовнішній архів: правою кнопкою по кореневій папці проекту -> New -> Build Path -> Add External Archives Вибираємо... JarFile.jar з попереднього проекту. Результат: в jar файл включити інший jar файл

В папці Hilfe зробимо папку Lib, потім, увагу, в провіднику скопіюйте файл JarFile.jar з попереднього проекту і помістіть цю копію в нашу папку Lib. Зробити це можна прямо в провіднику, або правою кнопкою на папці Lib -> Paste. Отримуємо: в jar файл включити інший jar файл

Робимо оброблювач натискання на кнопку "Jar приклад" (попередньо введіть нове поле JarClass jc і вкажіть імпорт import myPack.JarClass). Остаточно отримуємо:

Збережіть проект.

Отже, що ми маємо? Ми створили клас MainJar, який використовує клас JarClass з архівного файлу. Це те, що нам потрібно. Ми будемо робити архів проекту JarInJar, а цей проект використовує інший архів: JarFile.jar. Тут не обійтися без роботи з маніфестом.

Вгору

Маніфест для jar архіву

Правою кнопкою по кореневій папці проекту New -> File, назвіть файл sbp-program.txt. в jar файл включити інший jar файл

У файл sbp-program.txt вводимо текст: Manifest-Version: 1.0
Created By: SBP-Program
Main-Class: myJar.MainJar
Class-Path: Lib/JARFile.jar
X-COMMENT: Lib folder content was added manually
і переведіть курсор на новий рядок, це важливо. Отримуємо: в jar файл включити інший jar файл

Зверніть увагу, на картинці курсор на початку нового рядка.

Збережіть проект. Запустити проект на виконання і переконайтеся, що все працює.

Зміст