Создание файла .jar - получите «Не удалось найти основной класс» даже с manifest.txt С возвратом каретки - PullRequest
1 голос
/ 01 апреля 2011

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

Это файлы, которые я пытаюсь включить: Bot.class Start.class Stop.class Thread.class

Я создал файл манифеста, который выглядит следующим образом (он также имеет возврат каретки в конце)

Main-Class: Bot

Вот что я запускаю через DOS

jar cf Bot.jar Manifest.txt Bot.class Start.class Stop.class Visit.class

Он успешно создает банку, но когда я пытаюсь выполнить ее, щелкнув по ней или используя командную строку, я получаю

Could not find the main class: Bot. Program will exit.

Я попытался использовать Bot и Bot.class в файле манифеста, но все равно получаю ту же ошибку. Я только попытался изменить расширение файла манифеста на .mf вместо .txt

Заранее спасибо за помощь!

Ответы [ 2 ]

2 голосов
/ 01 апреля 2011
jar cmf Manifest.txt Bot.jar Bot.class Start.class Stop.class Visit.class

Переключатель m необходим, чтобы сообщить jar, какой файл является манифестом. Обратите внимание, что порядок m и f должен совпадать с порядком Manifest.txt и bot.jar

Помните, что структура каталогов в банке должна соответствовать структуре вашего пакета.

например. для package com.me.Bot добавляемый файл должен быть com/me/Bot.class, а не просто Bot.class

0 голосов
/ 01 апреля 2011

изучение того, как вручную собрать банку, - это забавная вещь, которую нужно сделать один раз. однако в долгосрочной перспективе я бы порекомендовал изучить инструмент для сборки ( ant , maven , что угодно).

...