Обычно вам не нужно указывать файл манифеста, когда вы создаете банку, но, как вы хотите запустить свою банку, запустив java -jar
, вы должны указать свой собственный манифест, в котором содержится информация о том, где находится класс, содержащий метод main()
.
Для того, чтобы сделать это, вы должны создать файл, содержащий следующую строку:
Main-Class: A
(Я полагаю, ваш класс, содержащий ваш главный метод, если это не так, указать FQN из вашего желаемый класс)
и создать баночку с помощью следующей команды:
jar cfm A.jar yourFileContainingMain-Class A.class
Например:
//Mac-Makkhdyn:~ Makkhdyn$ cat A.java
public class A{
public static void main(String... args){
System.out.println("lol");
}
}
//Mac-Makkhdyn:~ Makkhdyn$ cat manifest
Main-Class: A
//Mac-Makkhdyn:~ Makkhdyn$ javac A.java
//Mac-Makkhdyn:~ Makkhdyn$ jar cvfm A.jar manifest A.class
added manifest
adding: A.class(in = 399) (out= 278)(deflated 30%)
//Mac-Makkhdyn:~ Makkhdyn$ java -jar A.jar
lol
После правки:
Вы обязательно иметь метод main()
в вашем A
класса, который вы хотите запустить. Проверьте ссылку ниже.
Ресурсы:
Да работает сейчас – Jagan