Как запустить JAR файл
Я создал JAR файл следующим образом:
jar cf Predit.jar *.*
Я запустил этот JAR файл, дважды щелкнув по нему (это не сработало). Поэтому я запускал его из подсказки DOS следующим образом:
java -jar Predit.jar
Он поднял исключения "Не удалось загрузить основной класс". Поэтому я извлек этот файл JAR:
jar -xf Predit.jar
и я запустил файл класса:
java Predit
Это сработало. Я не знаю, почему файл JAR не работал. Скажите, пожалуйста, шаги для запуска файла JAR.
Ответы
Ответ 1
Вам нужно указать Main-Class в манифесте jar файла.
Oracle tutorial содержит полную демонстрацию, но здесь еще один с нуля. Вам нужны два файла:
Test.java:
public class Test
{
public static void main(String[] args)
{
System.out.println("Hello world");
}
}
manifest.mf:
Manifest-version: 1.0
Main-Class: Test
Обратите внимание, что текстовый файл должен заканчиваться новой строкой или возвратом каретки.
Последняя строка не будет правильно проанализирована, если она не закончится
новая линия или возврат каретки.
Затем запустите:
javac Test.java
jar cfm test.jar manifest.mf Test.class
java -jar test.jar
Вывод:
Hello world
Ответ 2
java -classpath Predit.jar your.package.name.MainClass
Ответ 3
перед запуском проверки jar Main-Class: имя класса доступно или нет в файле MANIFEST.MF. MANIFEST.MF присутствует в банке.
java -jar filename.jar
Ответ 4
Вам нужно добавить манифест в jar, который сообщает java runtime, что такое основной класс.
Создайте файл "Manifest.mf" со следующим содержимым:
Manifest-Version: 1.0
Main-Class: your.programs.MainClass
Измените 'your.programs.MainClass' на ваш основной класс. Теперь поместите файл в Jar файл в подпапку с именем "META-INF". Вы можете использовать любую ZIP-утилиту для этого.
Ответ 5
Если вы не хотите создавать манифест только для запуска файла jar, вы можете ссылаться на основной класс непосредственно из командной строки при запуске файла jar.
java -jar Predit.jar -classpath your.package.name.Test
Указывает, какой основной класс должен запускаться в файле jar.
Ответ 6
Очень простой подход для создания файла .class,.jar.
Выполнение файла jar. Не нужно слишком беспокоиться о файле манифеста. Сделайте его простым и эластичным.
Пример Java Hello World Program
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
Компиляция файла класса
javac HelloWorld.java
Создание файла jar
jar cvfe HelloWorld.jar HelloWorld HelloWorld.class
или
jar cvfe HelloWorld.jar HelloWorld *.class
Запуск файла jar
java -jar HelloWorld.jar
или
java -cp HelloWorld.jar HelloWorld
Ответ 7
Java
class Hello{
public static void main(String [] args){
System.out.println("Hello Shahid");
}
}
manifest.mf
Manifest-version: 1.0
Main-Class: Hello
В командной строке:
$ jar cfm HelloMss.jar manifest.mf Hello.class
$ java -jar HelloMss.jar
Выход:
Hello Shahid
Ответ 8
Если вы не хотите иметь дело с этими деталями, вы также можете использовать помощники экспортных контейнеров из Eclipse или NetBeans.
Ответ 9
Eclipse Runnable JAR File
Создайте проект Java - RunnableJAR
- Если используется jar files, добавьте их в путь сборки проекта.
- Выберите класс с main() при создании файла Runnable Jar.
![введите описание изображения здесь]()
Основной класс
public class RunnableMainClass {
public static void main(String[] args) throws InterruptedException {
System.out.println("Name : "+args[0]);
System.out.println(" ID : "+args[1]);
}
}
Запустить Jar с помощью java-программы (cmd) путем предоставления аргументов и получения вывода и отображения в консоли eclipse.
public class RunJar {
static StringBuilder sb = new StringBuilder();
public static void main(String[] args) throws IOException {
String jarfile = "D:\\JarLocation\\myRunnable.jar";
String name = "Yash";
String id = "777";
try { // jarname arguments has to be saperated by spaces
Process process = Runtime.getRuntime().exec("cmd.exe start /C java -jar "+jarfile+" "+name+" "+id);
//.exec("cmd.exe /C start dir java -jar "+jarfile+" "+name+" "+id+" dir");
BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream ()));
String line = null;
while ((line = br.readLine()) != null){
sb.append(line).append("\n");
}
System.out.println("Console OUTPUT : \n"+sb.toString());
process.destroy();
}catch (Exception e){
System.err.println(e.getMessage());
}
}
}
В Eclipse найдите Короткие сокращения:
Справка ► Содержание справки ► Руководство пользователя по разработке Java ► Ссылки ► Меню и действия
Ответ 10
У меня есть эта структура папок:
D:\JavaProjects\OlivePressApp\ком\Линды\olivepress\Main.class D:\JavaProjects\OlivePressApp\ком\Линды\olivepress\нажмите\OlivePress.class D:\JavaProjects\OlivePressApp\ком\Линды\olivepress\оливки\Kalamata.class D:\JavaProjects\OlivePressApp\ком\Линды\olivepress\оливки\Ligurian.class D:\JavaProjects\OlivePressApp\ком\Линды\olivepress\оливок\Olive.class
Main.class
находится в пакете com.lynda.olivepress
Есть еще два пакета:
com.lynda.olivepress.press
com.lynda.olivepress.olive
1) Создайте файл с именем "Manifest.txt"
с двумя строками, сначала с основным классом и второй пустой линией.
Main-Class: com.lynda.olivepress.Main
D:\JavaProjects\OlivePressApp\Manifest.txt
2) Создайте JAR с точкой манифеста и главной точкой входа
D:\JavaProjects\OlivePressApp > jar cfm OlivePressApp.jar Manifest.txt com/lynda/olivepress/Main.class com/lynda/olivepress/*
3) Запустите JAR
java -jar OlivePressApp.jar
Примечание: com/lynda/olivepress/*
означает включение двух других пакетов, упомянутых выше, до пункта 1)
Ответ 11
Чтобы запустить jar, сначала нужно создать
исполняемый фляга
то
java -jar xyz.jar
будет работать