JAR: не удалось найти основной классJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 JAR: не удалось найти основной класс

Сообщение Anonymous »

Это типичное сообщение об ошибке, но никакие результаты поиска мне не помогли. Я пытаюсь создать и запустить Java-инструмент, написанный кем-то.

Я получаю следующую ошибку:

Код: Выделить всё

Could not find the main class: ConnJKSEngine.  Program will exit.
Вот мой манифест:

Код: Выделить всё

Main-Class: ConnJKSEngine
Я также изменил это на

Код: Выделить всё

Main-Class: ConnJKSEngine.ConnJKSEngine
и

Код: Выделить всё

Main-Class: ConnJKSEngine/ConnJKSEngine
(в конце есть новая строка). Никакой разницы

Вот как я собираю банку:

Код: Выделить всё

javac -cp ConnJKSEngine/ ConnJKSEngine/ConnJKSEngine.java
jar -cvfm ConnJKSEngine.jar ConnJKSEngine/ConnJKSEngineManifest ConnJKSEngine/*.class
chmod +x ConnJKSEngine.jar
Вот как я пытаюсь запустить jar (перепробовал все):

Код: Выделить всё

java ConnJKSEngine.jar
java -jar ConnJKSEngine.jar
java -cp ConnJKSEngine.jar ConnJKSEngine
Это оглавление, заданное jar -tf ConnJKSEngine.jar

Код: Выделить всё

META-INF/
META-INF/MANIFEST.MF
ConnJKSEngine/ConnJKSEngine.class
ConnJKSEngine/ConnJKSEngine_GenKey.class
ConnJKSEngine/ConnJKSEngine_GetPubKey.class
ConnJKSEngine/ConnJKSEngine_Operation.class
ConnJKSEngine/ConnJKSEngine_PrivDec.class
ConnJKSEngine/ConnJKSEngine_Sign.class
Я перешел в каталог ConnJKSEngine и выполнил Java ConnJKSEngine, информация об использовании выводится правильно. Это дает мне уверенность в том, что основной класс существует и может быть выполнен. Значит, что-то не так с созданием банки, верно?

Поэтому я распаковал jar в другой каталог (

Код: Выделить всё

unzip ConnJKSEngine.zip
) и получил структуру каталогов, показанную выше. Если я перейду в каталог ConnJKSEngine и выполню Java ConnJKSEngine, он выполнится правильно.

Здесь я застрял: класс находится там, он находится в подкаталоге и может быть выполнен. Манифест кажется правильным. Поскольку я не Java-программист, я сейчас прихожу сюда. Есть идеи, что может происходить? (примечание: система Linux)

Редактировать Исходники можно найти здесь: https://github.com/Javex/JKSEngine

Подробнее здесь: https://stackoverflow.com/questions/120 ... main-class
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»