В течение многих лет я использую IDE (Eclipse) для компиляции моих файлов jar для меня, через годы, когда я узнал о том, как они работают, но я до сих пор не совсем понимаю, как банка знает, где основным методом является то, что мне также интересно, как просто (или нет) его компилировать вручную.
У меня есть (вроде) IDE. Я работаю над этим, чтобы иметь возможность компилировать и запускать банку, которая включает в себя как файл от пользователя, так и банку или кучу других классов (API), Я видел несколько вопросов, в которых упоминался класс Java JavaCompiler
, но никогда не давал демонстрационный код, и, похоже, рядом никто не знает, как скомпилировать вручную, поэтому я хотел бы внести свой вклад. Итак, как я могу создать файл jar с помощью java-кода? Просьба предоставить демонстрационный код.Компиляция Jar с java
ответ
Я до сих пор не в полной мере понять, как баночка знает, где основным методом является
Это задание в manifest file.
Мне также интересно, как просто (или нет) его нужно скомпилировать вручную.
Это довольно просто - вы используете jar
tool после того, как вы создали файлы классов.
Давайте сделаем полную прогулку.
Создайте каталог под названием src
и каталог под названием bin
. Под src
создайте каталог demo
и файл с именем Test.java
в этом каталоге:
package demo;
public class Test {
public static void main(String[] args) {
System.out.println("Working!");
}
}
компилировать код: (. Это будет работать как на Unix и Windows,)
javac -d bin src/demo/Test.java
Затем создайте файл манифеста с именем manifest.txt
- неважно, где он идет, но я просто сохраню его в src
на данный момент:
Main-Class: demo.Test
Теперь построить банку файл:
jar cfm test.jar src\manifest.txt -C bin demo/Test.class
И запустить его:
java -jar test.jar
В эти дни вы можете указать точку входа в командной строке вместо создания файла манифеста себя:
jar cfe test.jar demo.Test -C bin demo/Test.class
См. Связанные документы для получения более подробной информации о том, как использовать jar
инструмент и потенциальное содержимое манифеста.
Моя IDE написана на Java и должна быть скомпилирована для пользователя, как описано , Могу ли я заставить Java запускать команды командной строки? Или даже если не создать необходимый пакетный файл? –
@LeeAllan: Вы * можете *, но вам будет намного лучше использовать класс JavaCompiler, с которым вы связаны. Аналогично, вы можете использовать классы в 'java.util.jar' для создания файлов jar программно. –
Здесь .. http://stackoverflow.com/questions/5258159/how-to-make-an-executable-jar-file – vidit
«В Eclipse вы можете сделать это просто так:», «Скомпилируйте свои классы. " - не то, что я спрашиваю, «как я могу создать файл jar с помощью java-кода?» –
Java включает полностью функциональный набор утилит zip-файла (java.util.zip), который можно использовать для создания файлов jar.И есть несколько дополнительных «приятных» возможностей в java.util.jar. –