powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как запаковать весь проект с библиотеками в один файл в netbeans?
20 сообщений из 20, страница 1 из 1
Как запаковать весь проект с библиотеками в один файл в netbeans?
    #39484267
azsx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я создаю проект java в netbeans 8.2. В нём форма jFrame, мои классы с методами и библиотека ojdbc7.jar в списке "Библиотеки". Когда я собираю проект shift + 11 он собирается в один jar файл + каталог с библиотекой. То есть:
---
Пакеты исходных кодов
-test
--Ftest
Тесты
Библиотеки
-ojdbc7.jar
Библиотеки Тестов
---
В итоге получаю в каталоге dist:
---
test.jar
lib
-ojdbc7.jar
---
Все настройки облазил в компиляции, так и не могу понять:
Как собрать проект, чтобы был только один jar файл, то есть, чтобы библиотеку ojdbc7.jar компилятор вставил внутрь test.jar?
...
Рейтинг: 0 / 0
Как запаковать весь проект с библиотеками в один файл в netbeans?
    #39484279
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как запаковать весь проект с библиотеками в один файл в netbeans?
    #39484308
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz http://www.oracle.com/technetwork/articles/java/single-jar-141905.html
https://stackoverflow.com/questions/18451052/how-to-include-jars-in-lib-into-project-jar-file-in-netbeans
http://arunasujith.blogspot.com/2011/08/how-to-build-fat-jar-using-netbeans.html
https://stackoverflow.com/questions/2034180/put-external-library-to-the-jar

Но я, обычно, в META-INF прописываю Class-Path. Странно что NetBeans так по-умолчанию не делаетю

Заменитель гугла :-)

Сейчас будет вопрос а что там по ссылкам написано
...
Рейтинг: 0 / 0
Как запаковать весь проект с библиотеками в один файл в netbeans?
    #39484467
azsx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня получилось, но я ничего не понял. В итоге у меня такой xml
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
<?xml version="1.0" encoding="UTF-8"?>
<project name="test" default="default" basedir=".">
    <property name="store.jar.name" value="test"/> 
    <description>Builds, tests, and runs the project test.</description>
    <import file="nbproject/build-impl.xml"/>
    
 <target name="package-for-store" depends="jar">
    <property name="store.jar.name" value="test"/>
    <property name="store.dir" value="store"/>
    <property name="store.jar" value="${store.dir}/${store.jar.name}.jar"/>
    <echo message="Packaging ${application.title} into a single JAR at ${store.jar}"/>
    <delete dir="${store.dir}"/>
    <mkdir dir="${store.dir}"/>
    <jar destfile="${store.dir}/temp_final.jar" filesetmanifest="skip">
        <zipgroupfileset dir="dist" includes="*.jar"/>
        <zipgroupfileset dir="dist/lib" includes="*.jar"/>
        <manifest>
            <attribute name="Main-Class" value="${main.class}"/>
        </manifest>
    </jar>
    <zip destfile="${store.jar}">
        <zipfileset src="${store.dir}/temp_final.jar"
        excludes="META-INF/*.SF, META-INF/*.DSA, META-INF/*.RSA"/>
    </zip>
    <delete file="${store.dir}/temp_final.jar"/>
</target>
</project>


Через build.xml в контекстном меню выбираю выполнить цель, другие цели, package-for-store и компилирую его в один файл. Мне не совсем понятно, правильно ли, что вот эта строка дублируется?
<property name="store.jar.name" value="test"/>
В <project name= и в <target name=
---
Также не совсем понятно, где почитать об опциях компиляции в build.xml (желательно на русском). То есть как из этого кода понять, что xml скомандовал именно запаковать всё в один файл?
---
Также не понятно, нормально ли, что изначально мой проект не содержал target? Или что такое target? Это как бы список команд для достижения определённой цели?
...
Рейтинг: 0 / 0
Как запаковать весь проект с библиотеками в один файл в netbeans?
    #39484469
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
azsx,

Давай ещё помогу с гуглом
https://www.google.com/search?q=Введение в Ant
...
Рейтинг: 0 / 0
Как запаковать весь проект с библиотеками в один файл в netbeans?
    #39484471
azsx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
оффтопик
Ну и просто... Я почему то ожидал, что будет запаковывать в один файл через обычную сборку, то есть по shift + f11, а он всё запаковал и в dist положил. Конечно, это не критично, но команды многословные и мышкой кучу всего нажимать. ээх...
...
Рейтинг: 0 / 0
Как запаковать весь проект с библиотеками в один файл в netbeans?
    #39484473
azsx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторДавай ещё помогу с гуглом
То есть этот build.xml -- это и есть ant, верно?
...
Рейтинг: 0 / 0
Как запаковать весь проект с библиотеками в один файл в netbeans?
    #39484496
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
azsxНу и просто... Я почему то ожидал, что будет запаковывать в один файл через обычную сборку, то есть по shift + f11, а он всё запаковал и в dist положил. Конечно, это не критично, но команды многословные и мышкой кучу всего нажимать. ээх...
Это не стандартная фича. Так никто не делает. Стандартное решение это META-INF/manifest.mf файл с Class-Path атрибутом.
...
Рейтинг: 0 / 0
Как запаковать весь проект с библиотеками в один файл в netbeans?
    #39484508
azsx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Огромное спасибо за помощь, вопрос решён, буду читать и разбираться.
...
Рейтинг: 0 / 0
Как запаковать весь проект с библиотеками в один файл в netbeans?
    #39484662
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
azsxКак собрать проект, чтобы был только один jar файл, то есть, чтобы библиотеку ojdbc7.jar компилятор вставил внутрь test.jar?
А вы уверены, что имеете возможность делать это не нарушая лицензионные соглашения от поставщиков библиотек. В некоторые дистрибутивы, например, к каждой библиотеке ещё и файл лицензионного соглашения прикладывают.

И вообще... как-то не по научному это!
...
Рейтинг: 0 / 0
Как запаковать весь проект с библиотеками в один файл в netbeans?
    #39484746
azsx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторА вы уверены, что имеете возможность делать это не нарушая лицензионные соглашения от поставщиков библиотек.
Пока пофиг, я любитель, пишу для себя и банды товарищей. Но спасибо, никогда бы не подумал.
Кстати, а если всё сжать в один файл, а для юристов ещё папку одну с текстами лицензий? Или все лицензии в один текстовой файл?
авторИ вообще... как-то не по научному это!
Почему? Мне кажется один файл более логичен, вон go, которого я не знаю, тоже так делает.
...
Рейтинг: 0 / 0
Как запаковать весь проект с библиотеками в один файл в netbeans?
    #39484923
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
azsxПочему? Мне кажется один файл более логичен, вон go, которого я не знаю, тоже так делает.
Ну, например, вы можете захотеть использовать более новую версию библиотеки. Просто подменяете файл библиотеки на новый, а старый удаляете. В вашем случае вам придётся перекомпилировать своё приложение целиком.


Вы можете использовать одну и туже библиотеку несколькими приложениями или несколькими модулями одного приложения. В вашем случае придётся в каждый модуль зашивать одну и туже библиотеку.

Короче, я лично, никаких плюсов в этом не вижу. И никто так не делает. Задумайтесь, наверное для этого есть причины. Даже Windows "делят" на DLL-ки, а не зашивают всё в один огромный exe-файл. Ну и опять же - внимательно смотрите лицензию.

P.S. А ещё бывают библиотеки в которые зашиты цифровые подписи и контрольные суммы - специально, что бы не подменили чего-нибудь.
...
Рейтинг: 0 / 0
Как запаковать весь проект с библиотеками в один файл в netbeans?
    #39485000
azsx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторКороче, я лично, никаких плюсов в этом не вижу. И никто так не делает.
Раз об этом задают вопросы и отвечают -- значит так кто-то делает. В языке golang это рекламируемая фишка, что все библиотеки сливаются в один бинарный файл.
авторА ещё бывают библиотеки в которые зашиты цифровые подписи и контрольные суммы - специально, что бы не подменили чего-нибудь.
Аргумент про библиотеки с контрольной суммой очень хороший. А Вы знаете хоть одну такую бесплатную?
...
Рейтинг: 0 / 0
Как запаковать весь проект с библиотеками в один файл в netbeans?
    #39485002
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GarrickПросто подменяете файл библиотеки на новый, а старый удаляете. В вашем случае вам придётся перекомпилировать своё приложение целиком.
В реальности так никто не делает. Нужно пересобрать приложение и прогнать тесты.

GarrickКороче, я лично, никаких плюсов в этом не вижу. И никто так не делает.
Иногда делают. Но пользы от этого не много, ИМХО.

GarrickP.S. А ещё бывают библиотеки в которые зашиты цифровые подписи и контрольные суммы - специально, что бы не подменили чего-нибудь.
+1
...
Рейтинг: 0 / 0
Как запаковать весь проект с библиотеками в один файл в netbeans?
    #39485023
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
azsxРаз об этом задают вопросы и отвечают -- значит так кто-то делает. В языке golang это рекламируемая фишкаДа будьте вы проще ...
JAR - обычный zip-архив с несколькими специальными элементами.
Как перепаковать содержимое нескольких архивов в один - объясняют на курсах типа "компьютер для чайников".
Что делать "с несколькими специальными элементами" - почитать спецификацию и немного поэкспериментировать.
А ещё - помнить, что не все "специальные элементы" требуются во всех случаях. Существенная их часть добавляется для чего-нибудь вроде OSGI-контейнеров, которых в вашей "задаче" - никак не просматривается.
...
Рейтинг: 0 / 0
Как запаковать весь проект с библиотеками в один файл в netbeans?
    #39485031
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
azsxРаз об этом задают вопросы и отвечают -- значит так кто-то делает.
Вроде вы первая белая ворона кто такой вопрос задаёт и кому нужно драйвер запихнуть не в war а в jar.
imho.
...
Рейтинг: 0 / 0
Как запаковать весь проект с библиотеками в один файл в netbeans?
    #39485060
azsx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВроде вы первая белая ворона кто такой вопрос задаёт и кому нужно драйвер запихнуть не в war а в jar.
Среди русских. Во втором посте мне ответили ссылками, люди зажают такие же вопросы.
http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1265223&msg=20621763
зы
Мне не понятен негатив. Я любитель. Для моих небольших программ удобнее распространять программу одним файлом, а не каталогом. Так как у меня небольшие программы, это даже логично. Какая мне фиг разница, что я первый кто об этом спросил? Вам удобнее каталогом.
...
Рейтинг: 0 / 0
Как запаковать весь проект с библиотеками в один файл в netbeans?
    #39485070
azsx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати по phar для php я также вопросов особо не вижу, но он ведь есть!
...
Рейтинг: 0 / 0
Как запаковать весь проект с библиотеками в один файл в netbeans?
    #39485076
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
azsxМне не понятен негатив
не негатив, а критика - imho)
azsxДля моих небольших программ удобнее распространять программу
тут объективно меньше людей распространяющих программа.jar.
Только и всего.
Удачи!
...
Рейтинг: 0 / 0
Как запаковать весь проект с библиотеками в один файл в netbeans?
    #39485085
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как запаковать весь проект с библиотеками в один файл в netbeans?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]