Как сделать исполняемый файл JAR?
У меня есть программа, которая состоит из двух простых файлов Java качели.
Как мне сделать исполняемый файл JAR для моей программы?
3 ответа
Файл jar - это просто файл, содержащий коллекцию файлов java. Чтобы сделать исполняемый файл JAR, вам нужно указать, где main
Класс находится в файле jar. Пример кода будет следующим.
public class JarExample {
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
// your logic here
}
});
}
}
Скомпилируйте ваши уроки. Чтобы сделать банку, вам также нужно создать файл манифеста (MANIFEST.MF
). Например,
Manifest-Version: 1.0
Main-Class: JarExample
Поместите файлы скомпилированного выходного класса (JarExample.class,JarExample$1.class) и файл манифеста в одну и ту же папку. В командной строке перейдите в папку, где находятся ваши файлы, и создайте jar с помощью команды jar. Например (если вы называете свой файл манифеста как jexample.mf)
jar cfm jarexample.jar jexample.mf *.class
Это создаст исполняемый файл jarexample.jar.
В Eclipse вы можете сделать это просто следующим образом:
Щелкните правой кнопкой мыши по вашему Java-проекту и выберите " Экспорт".
Выберите Java -> Запускаемый файл JAR -> Далее.
Выберите Launch Configuration и выберите файл проекта в качестве основного класса.
Выберите папку "Destination", в которой вы хотите ее сохранить, и нажмите "Finish".
Вот это в одной строке:
jar cvfe myjar.jar package.MainClass *.class
где MainClass
это класс с вашим main
метод и package
является MainClass
пакет.
Обратите внимание, что вы должны скомпилировать .java
файлы в .class
файлы, прежде чем делать это.
c create new archive
v generate verbose output on standard output
f specify archive file name
e specify application entry point for stand-alone application bundled into an executable jar file
Этот ответ вдохновлен комментарием Powerslave к другому ответу.
Если вы используете maven, добавьте в файл pom.xml следующее:
<plugin>
<!-- Build an executable JAR -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<mainClass>com.path.to.YourMainClass</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
Тогда ты можешь бежать mvn package
. Файл jar будет расположен в целевом каталоге.
Слишком поздно отвечать на этот вопрос. Но если кто-то сейчас ищет этот ответ, я заставил его работать без ошибок.
Прежде всего, обязательно загрузите и добавьте maven в путь. [mvn --version
] предоставит вам спецификации версии, если вы правильно добавили путь.
Теперь добавьте следующий код в проект maven [pom.xml
], в следующем коде замените точкой входа в ваш собственный основной файл, например, [ com.example.test.Test ].
<plugin>
<!-- Build an executable JAR -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<mainClass>
your_package_to_class_that_contains_main_file .MainFileName</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
Теперь перейдите в командную строку [CMD
] в своем проекте и введите mvn package
и он сгенерирует файл jar как что-то вроде ProjectName-0.0.1-SNAPSHOT.jar
под target
каталог.
Теперь перейдите в целевой каталог, cd target
.
Наконец введите java -jar jar-file-name.jar
и да, это должно работать успешно, если в вашей программе нет ошибок.