Как преобразовать программу Java в jar?

небольшая помощь от вас всех... Я пытался преобразовать простую java-программу в jar, но ничего не произошло. У меня есть 2 файла: Tester.Ява , тестер.Класс. Затем я использовал эту командную строку:

тестер jar-cvf.тестер банок.класс!--1-->

The .файл jar был создан, но ничего не работает. Что я пропустил?

5 ответов


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

java -cp Tester.jar your.package.Main

более удобный способ выполнить банку, чтобы иметь возможность сделать

java -jar Tester.jar

это, однако, требует, чтобы вы указали основной класс в файле манифеста, который должен быть включен в jar-файл:

  • поставить

    Manifest-Version: 1.2
    Main-Class: your.package.Main
    

    в манифесте.txt

  • и создать банку:

    jar cvfm Tester.jar manifest.txt Tester.class
    

Как Мэтью Горнолыжный Подъемник Flaschen прокомментировал ответил, вам нужно иметь "файл манифеста" в вашей банке, и это должно содержать Main-Class заголовок, указывающий, который является основным классом в jar для выполнения. ответ aioobe прекрасно иллюстрирует самый простой способ сделать это.

но вместо того, чтобы делать это всегда "вручную", я бы рекомендовал вам взглянуть на построить инструмент, например Apache Ant (или Maven, но это, вероятно, немного сложнее начать), которые очень часто используются для автоматизации таких последовательностей сборки.

С Ant вы создадите " buildfile "(наиболее часто называемый build.xml) такой:

<project name="Tester">
    <target name="build" 
            description="Compiles the code and packages it in a jar.">

        <javac srcdir="src" destdir="classes" source="1.6" target="1.6"/>

        <jar destfile="Tester.jar">
            <fileset dir="classes"/>
            <manifest>
                <attribute name="Main-Class" value="com.example.Tester"/>
            </manifest>
        </jar>
    </target>
</project>

теперь, называя ant build скомпилирует ваш код и упакует его в "тестер".jar", который также будет содержать правильный тип заголовка манифеста, чтобы вы могли запустить его с помощью java -jar Tester.jar. (Обратите внимание, что в этом примере предполагается, что ваши источники находятся в каталоге " src " относительно того, где вы запускаете команду. Конечно, Вам также нужно будет установить Ant.)

если вы решите попробовать Ant, его официальное руководство будет очень полезно (особенно список Муравьев "задачи", который, например, показывает, какие параметры вы можете дать для конкретных задач, таких как javac или jar).


Если вы хотели опоздать это:

java -jar Tester.jar

вы должны прочитать это учебник урок.


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


Я предлагаю использовать некоторые IDE , такие как Netbeans , Eclipse, IntelliJ IDEA и сосредоточиться на своем программировании (построить программу yor по щелчку мыши) .