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

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

jar -cvf Tester.jar Tester.class

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

8
задан Jonik 22 May 2010 в 08:54
поделиться

5 ответов

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

java -cp Tester.jar your.package.Main

Более удобный способ выполнить jar - это быть в состоянии сделать

java -jar Tester.jar

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

  • Поместите

     Версия манифеста: 1.2
    Главный класс: your.package.Main
    

    в manifest.txt

  • И для создания jar:

     jar cvfm Tester.jar manifest.txt Tester.class
    
13
ответ дан 5 December 2019 в 06:22
поделиться

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

2
ответ дан 5 December 2019 в 06:22
поделиться

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

2
ответ дан 5 December 2019 в 06:22
поделиться

Как прокомментировал Мэтью Флашен ответ , вам понадобится «файл манифеста» в вашей банке, который должен содержать Заголовок Main-Class , указывающий, какой из классов в банке нужно выполнить. Ответ aioobe прекрасно иллюстрирует простейший способ сделать это.

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

С помощью Ant вы должны создать «файл сборки» (обычно называемый 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 скомпилирует ваш код и упакуйте его в "Tester.jar", который также будет содержать заголовок манифеста правильного типа, чтобы вы могли запустить его с помощью java -jar Tester.jar . (Обратите внимание, что в этом примере предполагается, что ваши исходные коды находятся в каталоге «src» относительно того, где вы запускаете команду. Конечно, вам также потребуется установить Ant.)

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

6
ответ дан 5 December 2019 в 06:22
поделиться

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

java -jar Tester.jar

вам следует прочитать этот урок-руководство.

3
ответ дан 5 December 2019 в 06:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: