Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Упаковка сторонних библиотек в jar


Автор: kkin 21.6.2011, 16:55
День добрый.

Появилась такая задача.

Есть проект в нем папка в папке лежит библиотека. 
Необходимо собрать свой jar файл что бы он содержал и классы и  библиотеку. Средствами Eclipse не получилось 
классы упаковывает, а jar файл пропускает.

Структура проекта 

-com
    |
     project
          |
          test.java
-lib
    |
    jdom.jar
    
-Meta-INF

Можно конечно после создания открыть winRar и записать туда папку с jar файлом , но на сколько это будет корректным вариантом 
И почему стандартными методами Eclipse не хочет все это упаковывать ?

Автор: Skipy 21.6.2011, 17:24
Eclipse не хочет это упаковывать потому как упаковка jar-файла в jar смысла не имеет. И скорее всего где-то в настройках стоит исключение. Он же не знает, что Вы исходники пакуете. Кстати, а почему именно jar? Почему любым архиватором не упаковать?

Автор: kkin 21.6.2011, 17:30
Думал уже упаковать WinRar

А jar в jar упаковываю что бы не нужно было устанавливать библиотеки просто перенес свой проект а в нем уже лежат все необходимые библиотеки 

Автор: Samotnik 21.6.2011, 20:57
Цитата(kkin @  21.6.2011,  17:30 Найти цитируемый пост)
А jar в jar упаковываю что бы не нужно было устанавливать библиотеки просто перенес свой проект а в нем уже лежат все необходимые библиотеки  

Обычно так не делают. Разве большой труд скопировать помимо своего jar файла еще и папку со сторонними библиотеками ? Это традиционный подход.

Автор: powerOn 21.6.2011, 22:20
Этого не то что обычно никогда не делают, этого вообще никогда не делают. Просто это не работает. 

Автор: LSD 22.6.2011, 10:26
Цитата(powerOn @  21.6.2011,  23:20 Найти цитируемый пост)
Этого не то что обычно никогда не делают, этого вообще никогда не делают. Просто это не работает.

На самом дее можно smile


http://one-jar.sourceforge.net/
Цитата
One-JAR provides custom classloader that knows how to load classes and resources from a jars inside an archive, instead of from jars in the filesystem. It discovers dependency jar files based on the internal structure of the archive, there is no custom code required to do this. One-JAR archives can be constructed using Ant or Maven2. Your application can be run using java -jar my-app.jar

Хотя это и извращение smile 

Автор: kkin 22.6.2011, 10:31
Цитата(LSD @  22.6.2011,  10:26 Найти цитируемый пост)
Хотя это и извращение  


Буду пробовать 

Спасибо всем за советы. Попробую предложенным методом от LSD,
если не получиться буду просто копировать  жарки  в нужное место ) 

Автор: LSD 22.6.2011, 10:38
Вообще-то это был пример того как делать не надо smile

Автор: alex_nevolin 22.6.2011, 12:25
Может это подойдет? 
http://fjep.sourceforge.net/

Автор: Alexandr87 22.6.2011, 12:35
Ну и это, чтоб левыми класслоадерами не морочиться и очень хочется, то можно запихнуть в свой jar не чужие jar`ики, а их содержимое. Если конечно эти сторонние библиотеки не имеют ЭЦП (и средств их проверки), либо других специальных записей в манифест файле.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)