Как создать Jar файл из моей программы. Jar как создать архив


Создание и использование архивов Java

Зачем нужны JAR-архивы?

Использование JAR-архивов предоставляет разработчикам аплетов (а также и автономных приложений) ряд преимуществ.

  • Повышение эффективности загрузки. Вместо нескольких файлов отдельных классов загружается единственный файл JAR-архива.
  • Улучшенное хранилище файлов, так как файлы классов хранятся в одном сжатом файле архива.
  • Повышение защищённости. В JAR-файл можно поместить цифровую подпись, дающею конечному пользователю гарантии, что файл архива не изменился с момента её внесения. Если конечный пользователь доверяет вашей фирме, он может предоставить подписанным вами аплетам право доступа к его жестким дискам или другим важным ресурсам системы.
  • Независимость от платформы. Построение JAR-архивов базируется на использовании популярной программы PKZIP сжатия файлов. Однако JAR-файлы могут создаваться и сохраняться на любой компьютерной платформе.
  • Расширяемость. В спецификацию JAR-файлов внесены некоторые дополнения, обеспечивающие возможность дальнейших расширений.

Одно только повышение эффективности загрузки даёт какое преимущество! Если вы знакомы с работой протокола HTTP, то должны понимать насколько неэффективно, с его помощью, выполнять передачу нескольких небольших файлов. В каждом случае потребуется установить новое соединение TCP/IP, которое после передачи данного файла будет разорвано. Установка каждого соединения связана с дополнительной нагрузкой на сервер и сеть. При использовании коммутируемых линий связи среднее время установки TCP/IP-соединения может составлять около 0,5 c. Если для работы аплета необходимо 16 файлов, общее время затрачиваемое только на установку соединений — 8 с.

Создание JAR-архива

Для создания и модификации JAR-архивов можно использовать любую поддерживающую формат PKZIP программу. JAR-файл отличается от zip-файла наличием дополнительного текстового файла, называемого файлом описания (manifest file). Этот файл содержит сведения обо всех помещённых в данный архив файлах. В состав файла описания должны входить определённые элементы, в частности он должен включать следующие.

  • Номер версии стандарта JAR. В соответствии, с которым построен данный архив. Этот номер задаётся параметром Manifest-Version и является обязательным. В SDK 1.2 значение этого параметра должно быть равно 1.0
  • Минимальный номер версии утилиты JAR, которая сможет прочитать этот архив. Этот параметр необязателен и имеет название Required-Version.
  • Отдельная запись для любого, помещённого в архив файла. Необязательно перечислять все помещённые в архив файлы, достаточно указать только файлы главных классов.

Фирма Sun предоставила, для создания JAR архивов, специализированный инструмент для всех поддерживаемых платформ. Рассмотрим создание JAR-архива с помощью этой утилиты под названием jar.

Предположим, что у нас имеется каталог, содержащий несколько файлов типа .class и подкаталог с именем images содержащий несколько файлов типа .gif. Пусть имя создаваемого архива будет archive.jar

Общий формат команды вызова утилиты jar: jar параметры имена_файлов

Параметр имена_файлов представляет собой список имён файлов, первым в котором всегда указывается имя самого архивного файла. Назначение остальных имён файлов зависит от ключей:

c— создать новый архив.m— использовать внешний файл описания, имя которого указано вторым в списке имена_файлов.M— не создавать файл описания.t— вывести содержание указанного архивного.x— извлечь файлы, указанные в списке имена_файлов. Если имена не указаны, то извлечь все файлы.f— указывает, что имя архивного файла помещено первым в списке имена_файлов.v— указывает, что утилита должна сопровождать сообщениями выполнение всех действий, заданных другими параметрами.0— сохранение файлов в архиве выполняется без их сжатия.u— указывает, что нужно обновить указанные файлы. Или в случае команды jar umf manifest имя_архива указывает что нужно обновить информацию в файле описания.-i— указывает, что необходимо сгенерировать файл INDEX.LIST содержащий информацию о всех файлах архива.

И так для создания нового архива введите:jar cf archive.jar .class images/.gif

Помещение в JAR-архив цифровой подписи

Для того чтобы разобраться, как цифровая подпись помещается в JAR-архив, необходимо предварительно усвоить определённые базовые понятия из области криптографии -шифрование с помощью открытого ключа.

Для внесения цифровой подписи в JAR-архив необходимо иметь два инструмента.

  • Утилита keytool. Используется для генерации пары открытого и закрытого ключа и сертификата.
  • Утилита jarsigner. Используется для непосредственного помещения цифровой подписи в JAR-архивы с применением имеющегося сертификата.

Что нам понадобится:

  1. Выполнить генерацию пары ключей.
  2. Получить сертификат на эту пару.
  3. Использовать сертификат для помещения цифровой подписи в JAR-архив.

Генерация пары ключей

Для генерации новой пары ключей можно использовать следующею команду:keytool -genkey -alias testkey

В результате выполнения этой команды будет создана новая пара ключей сохранённая в базе данных под именем testkey. Вот что у нас получится:

Программа keytool позволяет указывать следующие параметры:

-v— запрос вывода сообщений о действии программы.-alias псевдоним— псевдоним (имя) который присваивается этой паре.-keyalg алгоритм_ключа— алгоритм шифрования вашей подписи — обычно по умолчанию это алгоритм SHA1 with DSA и его можно не указывать если не собираетесь изменять его, размер ключа при генерации DSA ключевой пары может быть от 512 до 1024 бит, но если вы хотите применить MD5 with RSA то укажите опцию -keyalg «RSA» Следует заметить что опция -keyalg обуславливает и опцию -sigalg — алгоритм подписи который будет использован по умолчанию для подписания jar-файла (при создании дайджестов сообщений).-keysize длина_ключа— размер генерируемых ключей в битах.-keypass пароль— пароль для данного ключа. Если пароль не будет указан в командной строке, программа предложит ввести его значение в режиме диалога. Длина пароля должна быть не менее шести символов.-keystore хранилище— расположение хранилища ключей.-storepass пароль— пароль доступа к хранилищу ключей.-validity valDays— срок годности вашего сертификата. По умолчанию это 180 дней, можно указать больше или меньше.

По умолчанию утилита keytool помещает открытый ключ в подписанный вами же сертификат X.509.v1.

Командой keytool -list мы можем посмотреть содержимое keystore:

Получение сертификата

После генерации новой пары ключей необходимо выполнить генерацию запроса CSR (Certificate Signing Request). Этот запрос отсылается в любую выбранную службу сертификации.

Для генерации CSR запроса введите следующею команду:keytool -certreq

Для нашей пары ключей testkey команда будет выглядеть следующим образом:keytool -certreq -alias testkey

При генерации CSR запроса допускаются следующие параметры:

-v— сопровождение работы программы выдачей сообщений.-alias псевдоним— определение псевдонима пары ключей, для которых необходимо получить сертификат. По умолчанию применяется значение mekey.-sigalg алгоритм_сигнатуры— задание используемого алгоритма внесения подписи.-file csr_файл— имя и расположение файла, в котором помещается генерируемый запрос.-keypass пароль— пароль для доступа к данному ключу.-storepass пароль— пароль доступа к хранилищу ключей.-keystore хранилище— имя и расположения файла с парой ключей.

Сгенерированный CSR-запрос отсылается в выбранную службу сертификации. После проведения всех необходимых проверок и удостоверения вашей личности вам будет выдан требуемый сертификат.

В любом случае самостоятельно занесите полученный сертификат в файл и введите следующею команду:keytool -import

Следующие параметры могут быть указаны в режиме import:

-v— сопровождение работы программы выдачей сообщений.-alias псевдоним— псевдоним полного имени, которое будет использоваться с данным сертификатом.-file файл-сертификата— имя и расположение файла, в котором сохранён полученный сертификат.

Команда:keytool -export -alias testkey -file имя_файладаст указание утилите скопировать ваш сертификат в указанный файл. Отправьте свой сертификат всем получателям, которые будут использовать подписанные вами JAR-архива.

Помещение в JAR-архив цифровой подписи с помощью утилиты jarsigner

Помимо помещения цифровой подписи в JAR-архивы утилита jarsigner способна также проверять целостность подписанных JAR-архивов. Для этого достаточно запустить её с параметром -verify/

При вводе команды:jarsigner myJarFile.jarтилита воспользуется хранилищем ключей по умолчанию и результат будет помещён в файл myJarFile.jar, который заместит исходный файл архива.

Для создания JAR-архива подписанного нашими ключами testkey введите следующею команду:jarsigner myJarFile.jar testkey

Для того чтобы файл myJarFile.jar остался неизменённым а результат записался, например, в файл mySignedJarFile.jar введите команду:jarsigner -signedjar mySignedJarFile.jar myJarFile.jar testkey.

 

Читайте другие интересные статьи

adminunix.ru

Чем создать JAR файл? Программы для создания JAR файлов

JAR

Рассмотрим основные варианты, с помощью которых можно создать файл формата JAR (Java Archive File). Зачастую выполнение данной задачи не потребудет каких-либо особых хитростей, просто скачайте Java Development Kit (JDK) (для операционной системы Windows) - интерфейс программы не сложный, да и скачать ее вы можете бесплатно. Если же вы пользуетесь операционной системой Mac - скачайте Corel WinZip Mac как основную для данной платформы.

Вооружившись программой с правильным функционалом, вы наверняка не испытаете проблем с созданием файла JAR. Мы собрали в общий список все программы походящие под данную задачу для ОС Windows, Mac, Linux и сделали удобную таблицу:

Программы для создания JAR файлов

Чем создать JAR в Windows? Mac Linux

Общее описание расширения JAR

Файл JAR представляет из себя архив Java, являющийся видом обычного ZIP-архива, содержащего определенную часть данных с элементами языка программирования Java. Для того, чтобы реализовать JAR файл в качестве исполняемого, он должен содержать файл MANIFEST.MF, помещенный в каталог META-INF, где будет указан главный программный класс. Данный класс должен хранить метод main.

Узнать подробнее что такое формат JAR

Знаете другие программы, которые могут создать JAR? Не смогли разобраться как создать файл? Пишите в комментариях - мы дополним статью и ответим на ваши вопросы.

filesreview.com

Как создать файл jar с структурой пакета? [java]

Вам нужно начать создавать JAR в корне файлов.

Так, например:

jar cvf program.jar -C path/to/classes .

Это предполагает, что path/to/classes содержит каталог com .

FYI, в наши дни для большинства людей относительно редко используется команда jar , так как они будут использовать инструмент построения, такой как Ant или Maven чтобы позаботиться об этом (и о других аспектах сборки). Это стоит того, чтобы позволить одному из этих инструментов позаботиться обо всех аспектах вашей сборки, и еще проще с хорошей IDE помочь написать pom.xml build.xml (Ant) или pom.xml (Maven).

Из каталога, содержащего папку com :

$ jar cvf asd.jar com added manifest adding: com/(in = 0) (out= 0)(stored 0%) adding: com/cdy/(in = 0) (out= 0)(stored 0%) adding: com/cdy/ws/(in = 0) (out= 0)(stored 0%) adding: com/cdy/ws/a.class(in = 0) (out= 0)(stored 0%) adding: com/cdy/ws/b.class(in = 0) (out= 0)(stored 0%) adding: com/cdy/ws/c.class(in = 0) (out= 0)(stored 0%) $ jar -tf asd.jar META-INF/ META-INF/MANIFEST.MF com/ com/cdy/ com/cdy/ws/ com/cdy/ws/a.class com/cdy/ws/b.class com/cdy/ws/c.class

этот следующий код дал мне правильный ответ

jar cvf MyJar.jar *.properties lib/*.jar -C bin .

он добавил файл свойств (log4j), он добавил файлы jar в lib. а затем он переместился внутрь bin, чтобы получить файлы классов с пакетом.

Просто больше, чем выше -

  1. Храните содержимое упаковки Java в каталоге и убедитесь, что внутри ничего нет, кроме пакетов Java и соответствующих классов Java.

  2. Команда Open Command (если Windows) запросит, дойдите до содержащего пути к каталогу, как показано ниже -

    C:> cd "C: \ Users \ UserABC \ Downloads \ Current Folder"

    C: \ Users \ UserABC \ Downloads \ Current Folder> jar cvf hello-world-1.0.1.jar .

Это то, что я делаю внутри .sh-файла, давайте рассмотрим install.sh

#!/bin/sh echo Installing cd .../Your_Project_Directory/com/cdy/ws/ jar cfe X.jar Main *.class cd .../Your_Project_Directory/ ln -s .../Your_Project_Directory/com/cdy/ws/X.jar X echo Testing... java -jar X echo You are Good to Go...Use hapily #etc.

Создание исполняемого файла Jar в каталоге Class и создание SymLink в любом месте.

Запустите его, используя,

$ sh install.sh[ENTER] $ java -jar X[ENTER]

code-examples.net

Создание jar

Создание jar. Java

JAR пример

Для архивирования файлов испрользуется формат JAR.

Для создания Jar архивов используют специальные инструменты, назовём их архиватор Jar. Построим простое приложение и упакуем его в Jar архив. Итак, наша цель - создание JAR архива.

Как перевести текстовый файл в jar?

Как перевести текстовый файл в jar? Как перевести txt в jar? (txt в jar). Такие вопросы часто задаются. Решение этой задачи очень простое с помощью Eclipse. Прямо сейчас посмотрим, как это делать. Если вы не работаете с Eclipse, то можно использовать программу создания jar файла SBP JarMakerСкачайте текстовый файл TextDoc.txt и разместите его в любом месте на диске. Создадим в Eclipse новый проект JarMaker. Скопируйте файл TextDoc.txt и вставьте его в корневую папку проекта:

Теперь упакуем наш проект в jar файл. Правой кнопкой по JarMaker -> Export... -> JAR file

Жмём Next. В окне Jar file specification кнопкой Browse... выберете любое место на диске, где предполагаете сохранить полученный jar файл. Имя jar файла SBPText, тип файла *.jar. Флажки установите как на картинке:

Жмём Finish. Jar файл готов. Как распаковать jar файл? С помощью программы для создания jar файлов, она же позволяет распаковать jar архив. См. раздел ниже.

Как распаковать jar файл?

Где можно распаковать jar файл? Как распаковать jar архив? Как открыть jar файл на компьютере? Такие вопросы часто задаются.Очень просто. С помощью программы для создания jar файлов SBP JarMaker. JarMaker позволяет и создать jar, и распаковать jar.

Скачать SBP JarMaker

Бесплатно скачать JarMaker можно здесь. Это программа для создания jar файлов. SBP JarMaker позволяет создать jar, распаковать jar архив. Вы можете не только сделать из txt jar (перевод txt в jar), но и создать jar архив из файлов других типов.Для нормальной работы SBP JarMaker на вашем компьютере должна быть установлена Java и введена переменная окружения Path, которая указывает путь к папке bin, пример:

С:\Program Files\Java\jdk1.6.0_06\bin

Скачать SBP JarMaker 11 КБ.

www.sbp-program.ru

java - Как создать архив jar с помощью cmd?

как создать архив "classes.jar", который должен содержать 2 файла ".class" (называемый MyFirstClass.class и MySecondClass.class) с использованием файла, который я создал "manifest.mf".

Это необходимо сделать с помощью программы javac, program jar и cmd.

2 файла.class Я уже использовал javac-программу.

Все это находится в папке C:\Task7

Файл MyFirstClass.class, расположенный в папке C:\Task7\myPackage (потому что он находится в пакете "myPackage")

Файл MySecondClass.class, расположенный в папке C:\Task7\myPackage\myfirstpackage (потому что он находится в пакетах myPackage и myfirstpackage)

Файл myManifest.mf, расположенный в папке C:\Task7

Мои попытки:

1) C:\Program Files\Java\jdk1.7.0_51\bin> jar cvfm classes.jar C:\Task7 manifest -C C:\Task7 myPackage.MyFirstClass.class myPackage.myfirstpackage.MySecondClass.class

cmd ответ:

java.io.FileNotFoundException: C:\Task7 (Mbp4p3m r •meCesix) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.java:146) at java.io.FileInputStream.<init>(FileInputStream.java:101) at sun.tools.jar.Main.run(Main.java:171) at sun.tools.jar.Main.main(Main.java:1177)

2) C:\Program Files\Java\jdk1.7.0_51\bin> jar cvfm classes.jar C:\Task7 манифест C:\Task7\myPackage\MyFirstClass.class C:\Task7\myPackage\myfirstpackage\MySecondClass.class

cmd ответ:

java.io.FileNotFoundException: C:\Task7 (Mbp4p3m r omeCesix) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.java:146) at java.io.FileInputStream.<init>(FileInputStream.java:101) at sun.tools.jar.Main.run(Main.java:171) at sun.tools.jar.Main.main(Main.java:1177)

3) C:\Program Files\Java\jdk1.7.0_51\bin> jar cvfm classes.jar C:\Task7 манифест C:\Task7\myPackage MyFirstClass.class C:\Task7\myPackage\myfirstpackage MySecondClass.class

cmd ответ:

java.io.FileNotFoundException: C:\Task7 (Cbpgrosm r omeCegx) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.java:146) at java.io.FileInputStream.<init>(FileInputStream.java:101) at sun.tools.jar.Main.run(Main.java:171) at sun.tools.jar.Main.main(Main.java:1177)

Что я делаю не так?

qaru.site

java - Как создать Jar файл из моей программы

В eclipse вы можете использовать Ant для создания вашего.jar файла.

От ant.apache.org

Apache Ant - это библиотека Java и средство командной строки, задачей которой является управление процессами, описанными в файлах сборки, в качестве целей и точек расширения, зависящих друг от друга. Основным известным использованием Ant является сборка приложений Java. Ant предоставляет ряд встроенных задач, позволяющих собирать, собирать, тестировать и запускать Java-приложения. Ant также может эффективно использоваться для создания приложений, отличных от Java, например приложений C или C++. В более общем плане Ant может использоваться для пилотирования любого типа процесса, который может быть описан с точки зрения целей и задач.

Ant написан на Java. Пользователи Ant могут разрабатывать свои собственные "antlibs", содержащие задачи и типы Ant, и предлагается большое количество готовых коммерческих или антивирусных материалов с открытым исходным кодом.

Ant чрезвычайно гибкий и не налагает соглашения о кодировании или макеты каталогов на проекты Java, которые принимают его как инструмент сборки.

Проекты разработки программного обеспечения, которые ищут решение, сочетающее инструмент построения и управление зависимостями, могут использовать Ant в сочетании с Apache Ivy.

Проект Apache Ant является частью Apache Software Foundation.

Поиск с помощью Google, и вы найдете много документации, я покажу основной способ сделать это.

Файл Build.xml

Прежде всего создайте новый файл xml, например "Build.xml", это будет файл, который Ant прочитает.

Вы начинаете писать внутри него:

<?xml version="1.0" encoding="UTF-8"?>

Это основная линия, которую вы всегда должны включать.

<project name="NameOfYourProject" default="try_jar" basedir=".">

Это (с закрывающим тегом </project> в конце файла, является основным тегом, объявляющим имя проекта и первую задачу (по умолчанию), которая будет выполнена, каждая задача - это что-то, что сделает Ant, и "Target", вы можете создать единую цель, которая делает все или любую другую цель, которая делает несколько вещей каждый, в этом случае вы можете создать другую "блок-схему", которой будет следовать мусор. Например, я обычно создаю 3 маршрута для Ant: try_jar, который используется только для того, чтобы попробовать, если все работает в банке, не делая много чего, new_version_jar, то же самое, что и try_jar, но будет обновлять номер версии, будет подписывать банку и некоторые другие вещи, а javadoc создает javadoc для проекта Il покажет вам базовый try_jar.

<description> This buildfile is used to build the jar of the game. </description>

Не нужно объяснять.

<!-- ================= File and Directory Names ==================== --> <property name="src" location="${basedir}/src" /> <property name="conf" location="${basedir}/conf" /> <property name="build" location="${basedir}/build" /> <property name="dist" location="${basedir}/dist" /> <property name="app.name" value="MyAppName" /> <property name="dist.jarHome" value="${user.home}/MyApplicationMainFolder" /> <property name="app.version" value="0.2" /> <tstamp /> <property name="jar.name" value="${app.name}_${app.version}.${DSTAMP}.jar" /> <property name="jar.completePath" value="${dist.jarHome}/${jar.name}" />

Здесь мы объявляем базовые свойства jar, мы говорим, где исходный код, где должна быть папка сборки и т.д. Мы также решили разместить все приложение в папке в базовом доме пользователя (в mac это /user/UserName/) и создать имя для файла, который будет включать имя (очевидно) версию и время, когда эта банка создано. Это позволяет избежать дублирования или переопределения файлов, которые мы, возможно, захотим сохранить.

<property name="shared.lib" value="${basedir}/lib" />

Здесь мы должны указать каталог, в котором хранятся файлы jar, необходимые для запуска этого плагина

<!-- =============== Custom Ant Task Definitions =================== --> <property name="compile.debug" value="true" /> <property name="compile.deprecation" value="false" /> <property name="compile.optimize" value="true" />

Это параметры конфигурации для муравьев

<!-- ================== External Dependencies ======================= --> <property name="LWJGL" value="lwjgl.jar" /> <property name="Timer" value="timer.jar" /> <property name="Database" value="hsqldb.jar" /> <property name="Splice" value="jarsplice-0.25.jar" />

Здесь вы должны указать свои внешние зависимости (например, easymock или powermock, если вы хотите создать тестовый объект.

<!-- ================== Compilation Classpath ======================= --> <path> <fileset dir="${src}"> <include name="**/*.java" /> <exclude name="**/server/*.java"/> </fileset> <fileset dir="${shared.lib}"> <include name="**/*.jar" /> </fileset> </path>

Это то, что And (с командой javac) будет строить, вы должны указать все папки, которые хотите построить, и добавить (с помощью <fileset>) любую банку, находящуюся в пути сборки

<!-- =================== All Target ================================ --> <!-- ================== Try_jar Target ============================ --> <target name="try_jar" depends="compile, dist, clean_class_files, run" description="Clean build and dist directories, then compile, create jar and finally run" />

Это наша цель, как указано в "default" в первой строке, и запустит это. Зависит говорит Ant, что он должен делать до этой цели. Вы можете прочитать его, скомпилировать, создать банку (dist), удалить файлы классов и запустить ее.

<!-- ================== Clean Target ============================== --> <target name="clean" description="Delete old build and dist directories"> <delete dir="${build}" /> <delete dir="${dist}" /> </target>

Это очень ясно, прежде чем компилировать новую версию, мы хотим удалить любой старый файл класса, чтобы избежать проблем. Вы можете подумать, что это никогда не называется, но обратите внимание на зависимости каждой цели.

<!-- ================== Prepare Target ============================= --> <target name="prepare" depends="clean"> <mkdir dir="${build}" /> <mkdir dir="${build}/classes" /> <mkdir dir="${build}/lib" /> <copy todir="${build}/lib"> <fileset dir="${shared.lib}" includes="${Timer}, ${LWJGL}, ${Database}" /> </copy> </target>

Это подготовит путь, создав новые необходимые папки (например, сборку и сборку/классы) и добавив банки внешних зависимостей.

<!-- ================== Compile Target =========================== --> <target name="compile" depends="prepare" description="Compile Java sources"> <mkdir dir="${build}/classes" /> <javac srcdir="${src}" destdir="${build}/classes" encoding="8859_1" debug="${compile.debug}" deprecation="${compile.deprecation}" optimize="${compile.optimize}" source="1.6" target="1.6"> <classpath refid="compile.classpath" /> </javac> </target>

Это основная цель компиляции, так как вы можете видеть, что она зависит от подготовки (которая зависит от чистой), поэтому до сих пор мы используем все теги <target>. Ant компилировать.java файлы с помощью <javac>, который должен знать, где находятся исходные файлы, куда помещать файлы.class, кодировку и три параметра, которые мы указали ранее.

<!-- =================== Dist Target ================================ --> <target name="dist" description="Creates Jar archive"> <!-- Create the time stamp --> <tstamp> <format property="compile.timestamp" pattern="yyyyMMddHHmm" /> </tstamp> <!-- update version in manifest --> <replaceregexp file="${basedir}/manifestClient" match="Implementation-Version: .*" replace="Implementation-Version: ${app.version}.${compile.timestamp}" /> <!-- Create Jar file --> <jar destfile="${jar.completePath}" manifest="${basedir}/manifest"> <fileset dir="${build}/classes" excludes="**/*.bak" /> <fileset dir="${src}/" excludes="mh/" /> <fileset dir="${shared.lib}/native/macosx" /> <zipfileset src="${shared.lib}/${Timer}" /> <zipfileset src="${shared.lib}/${LWJGL}" /> <zipfileset src="${shared.lib}/${Database}" /> </jar> </target>

это создает реальную банку. <tstamp> и <replaceregexp> используются для обновления версии в манифесте, вы можете удалить их. Jar tag создаст файл.jar, мы указали, какие файлы добавить в банку, которые будут доступны для моих классов внутри. Мы также должны указать манифест, который будет обсуждаться позже.

<!-- =================== Delete .class Target===================== --> <target name="clean_class_files" description="Delete .class files stored inside build directory and dist folder"> <delete dir="${build}" /> <delete dir="${dist}" /> </target>

Эта цель удаляет две папки, используемые для хранения файлов.class (и, очевидно, всех файлов внутри).

<!-- ================== Run Target =============================== --> <target name="run" description="Run MagicHogwarts"> <java jar="${jar.completePath}" fork="true"> </java> </target>

Конец нашего файла build.xml, то есть цель запуска, которая запускает банку.

Это почти то, что вам нужно для компиляции и правильных ресурсов в банке, если что-то не так, как вы ожидаете, просто попробуйте несколько раз, и все пойдет правильно.

Это проявление:

Manifest-Version: 1.0 Created-By: 1.6.0 (Sun Microsystems Inc.) Main-Class: package.to.class.with.main Built-by: Gianmarco Implementation-Vendor: Gianmarco Implementation-Title: Title

Надеюсь, это будет полезно для вас.

Я редактирую несколько вещей, чтобы сделать сообщение лучше, но содержимое не будет отличаться.

qaru.site

Как создать JAR файл Как? Так!

Содержимое:

2 метода:

Формат JAR-файлов представляет собой сжатый формат и в основном используется для распространения приложений и библиотек Java. Он основан на ZIP-формате и работает схожим образом; несколько файлов сжаты и упакованы в один файл, что позволяет легко распространять файлы по сети. Если вам необходимо упаковать приложение или библиотеку Java, вы можете создать JAR-файл с помощью Java Development Kit (JDK) и командной строки вашего компьютера.

Шаги

Метод 1 Windows

  1. 1 Подготовьте файлы. Поместите все файлы, которые вы хотите включить в JAR-файл, в одну папку. На них нужно будет сослаться с помощью одной командной строки, поэтому использование разных путей к ним не представляется возможным.
  2. 2 Откройте командную строку. Это можно сделать, нажав Пуск и затем Выполнить. Наберите в текстовом поле "cmd" и нажмите кнопку "OK".
  3. 3 Перейдите к папке, в которой вы разместили файлы. По умолчанию командная строка читает из "C:>."
    • Чтобы перейти во вложенные папки на жестком диске, используйте команду "сменить директорию"("change directory"), набрав "cd."
    • Например, если ваши файлы расположены в "C:myfiles", вам следует набрать команду "cd myfiles."
    • Чтобы перейти прямо в нужную директорию, в Проводнике удерживайте клавишу Shift и щелкните правой кнопкой мыши на нужной папке. Затем выберите "Открыть командную строку здесь".
  4. 4 Установите путь к папке JDK bin. Для создания JAR-файла вам нужно будет запустить утилиту jar.exe, а этот файл находится в папке bin.
    • Используйте команду "path", чтобы указать путь к папке JDK bin. Например, если вы устанавливали JDK в папку по умолчанию, вам следует набрать: "path c:Program FilesJavajdk1.5.0_09in"
    • Если вы не знаете точно нужную папку, перейдите к ней в проводнике Windows и запишите полный путь к папке.
  5. 5 Создайте JAR-файл. Формат командной строки для создания JAR-файла выглядит примерно так: "jar cf "jar-файл".jar входные_файлы."
    • Слово "jar" ссылается на программу jar.exe, которая создает JAR-файл.
    • Опция "c" означает, что вы хотите создать JAR-файл
    • Опция "f" означает, что вы хотите указать имя файла.
    • В "jar-файл" вы должны указать желаемое имя файла.
    • "входные_файлы" это разделенный пробелами список файлов, которые должны быть включены в JAR-файл.
    • Например, вы можете ввести "jar cf myjar manifest.txt myclass.class." Будет создан JAR-файл с именем "myjar.jar", который будет включать в себя файлы "manifest.txt" и "myclass.class."
    • Если вы добавляете папки к JAR-файлу, утилита jar.exe автоматически добавит их содержимое.

Метод 2 Mac

  1. 1 Подготовьте ваши файлы. Поместите все файлы, которые вы хотите включить в JAR-файл, в одну папку.
    • Откройте командную строку Терминал и перейдите в нем к той папке, в которой расположены ваши JAR-файлы.
  2. 2 Откомпилируйте класс .java. Например, откомпилируйте HelloWorld.java с помощью:
    • javac HelloWorld.java
    • Будет создан файл .class, который нужен для JAR-файла.
  3. 3 Создайте файл манифеста. Сохраните его с расширением .txt, используя редактор текста, и введите следующее:
    • Main-Class: HelloWorld (или как называется ваш класс )
    • Примечание: этот файл манифеста должен заканчиваться символом перехода на новую строку
  4. 4 Создайте JAR-фай с помощью этой команды:
    • jar cfm HelloWorld.jar Manifest.txt HelloWorld.class
  5. 5 Запустите jar-файл

Советы

  • Вы можете создавать цифровую подпись к вашим JAR-файлам для повышения их безопасности. Это можно сделать с помощью команды "jarsigner" в JDK.
  • Вы также можете создавать JAR-файлы с помощью стандартных утилит сжатия, например таких, которые используются для создания ZIP-файлов. Если вы это делаете, обязательно указывайте, что файл манифеста должен быть первым включен в архив.

Что вам понадобится

  • Компьютер
  • Java Development Kit

Прислал: Большакова Ольга . 2017-11-12 11:13:02

kak-otvet.imysite.ru