Небольшая помощь от всех вас ... Я пытался преобразовать простую Java-программу в jar, но, похоже, ничего не произошло. У меня есть 2 файла: Tester.java, Tester.Class. Затем я использовал эту командную строку:
jar -cvf Tester.jar Tester.class
.jar-файл был создан, но, похоже, ничего работай. Что я пропустил?
Чтобы запустить программу в созданном вами файле 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
Ваша команда создаст файл jar. Возможно, вам потребуется установить заголовок манифеста Main-Class .
Я предлагаю использовать некоторую среду IDE, например Netbeans, Eclipse, IntelliJ IDEA, и сосредоточиться на программировании (создавайте свою программу одним щелчком мыши).
Как прокомментировал Мэтью Флашен ответ , вам понадобится «файл манифеста» в вашей банке, который должен содержать Заголовок 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
).
Если вы хотели запустить это позже:
java -jar Tester.jar
вам следует прочитать этот урок-руководство.