Java JAR Не удалось найти основной класс - PullRequest
0 голосов
/ 20 сентября 2019

64x процессор Intel
Kubuntu 19.04 в Linux 5.0.0-27
OpenJDK 1.8.0_222


За последний час я настроил папку своего проекта, создалскрипты для автоматической компиляции и для резервных копий и т.д ...

Наконец-то я все заработал, я получил файл JAR.Проблема в том, что я не могу запустить его.Я знаю, что это очень распространенная проблема, но я не вижу ошибок компиляции, ошибок или опечаток.Я полностью потерян.

Даже при использовании java -jar TaskCalender.jar com.ydsoftware.taskcalender.EntryPoint и java -cp TaskCalender.jar com.ydsoftware.taskcalender.EntryPoint выдает ту же ошибку.

Error: Could not find or load main class com.ydsoftware.taskcalender.EntryPoint

Моя исходная файловая структура:

com
  ydsoftware
    taskcalender
      EntryPoint.java (contains main method)    

MyСтруктура файла JAR:

META-INF
  MANIFEST.MF 
com
  ydsoftware
    taskcalender
      EntryPoint.class (contains main method)   

MANIFEST.MF содержимое (внутри файла JAR):

Manifest-Version: 1.0
Created-By: 1.8.0_222 (Private Build)
Main-Class: com.ydsoftware.taskcalender.EntryPoint
Class-Path: lib/MX%20Engine.jar
/ blank /
/ blank /

Ответы [ 2 ]

0 голосов
/ 20 сентября 2019

решено

Проблема заключалась в том, что Class-Path: lib/MX%20Engine.jar отсутствовал, потому что мой компьютер неожиданно выключился (потому что по какой-то причине отключилось наше питание), а изменения в файле MANIFEST.MF были потеряны.Даже не заметил.

Тем не менее, он должен сказать что-то вроде Class not found или unexcepted token вместо того, чтобы сказать Could not find or load main class, что затрудняет поиск проблемы.

Спасибовсем, кто пытался мне помочь!

0 голосов
/ 20 сентября 2019

Можете ли вы попробовать ниже в CMD или через пакетный файл согласно вашему удобству

Общий: java -cp your_jar_name.jar имя_пакета.classname

согласно вашему классу: java -cp TaskCalender.jar com.ydsoftware.taskcalender.EntryPoint

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...