Файл jar не находит основной класс

bvpx спросил: 26 декабря 2017 в 08:12 в: java

После компиляции java-программы с javac

$ javac -classpath javax.mail.jar:javax.activation.jar:. PriceEmailer.java

Я включаю результирующий класс и библиотеки, которые я использовал в jar, однако файл jar не будет выполняться.

Запуск java-файла в командной строке работает:

$ java -classpath javax.activation.jar:javax.mail.jar:. PriceEmailer 
Sending...
Email sent!

Теперь я хочу создать исполняемый файл .jar , Я разместил следующее в файле manifest.txt:

Manifest-Version: 1.0
Main-Class: PriceEmailer
Class-Path: javax.activation.jar:javax.mail.jar:.

Создание файла .jar:

$ jar vcfm PriceEmailer.jar manifest.txt class/*
added manifest
adding: class/javax.activation.jar(in = 56290) (out= 50561)(deflated 10%)
adding: class/javax.mail.jar(in = 653275) (out= 617552)(deflated 5%)
adding: class/PriceEmailer.class(in = 4106) (out= 2205)(deflated 46%)

Запуск .jar:

$ java -jar PriceEmailer.jar 
Error: Could not find or load main class PriceEmailer

Почему файл jar не может выполняться?

Примечание. Функция main находится в файле PriceEmailer.java, который определяет класс PriceEmailer.

public static void main(String[] args) throws Exception {

0 ответов