Экспорт проекта Java с внешними библиотеками с использованием Eclipse - PullRequest
0 голосов
/ 31 декабря 2011

Я пытаюсь экспортировать свой проект Java в исполняемый файл JAR с помощью eclipse, но если я хочу запустить готовый файл JAR, я всегда получаю сообщение об ошибке

Java Virtual Machine Launcher

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

src.main - это мой основной класс, если я открою банку с помощью winrar, этот класс окажется в папке src в файле jar.

Я экспортирую проект так:

  • Щелкните правой кнопкой мыши по названию проекта
  • Экспорт
  • Запускаемый файл JAR -> Далее
  • Launchconfig: мой основной класс.
  • место назначения: ... \ Desktop \ asdf.jar
  • Обработка библиотек: извлечение необходимых библиотек в сгенерированный JAR (я также пробовал все остальные)
  • Конец
  • Я получаю предупреждение: «Экспорт JAR завершен с предупреждениями. ..»
  • OK

Библиотеки добавляются так:

  • Щелкните правой кнопкой мыши по названию проекта
  • Свойства
  • Java Build Path
  • Библиотека
  • Добавить внешние JAR
  • А потом все библиотеки находятся в одной внешней папке.

Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 31 декабря 2011

Имеет ли src.Start правильный метод "public static void main (String [] args)" "?

Вы пытаетесь запустить приложение следующим образом:

" java -jarmyjar.jar "или" java -cp myjar.jar src.start "

Кроме того, вы создаете манифест вручную или позволяете затмению делать это?Я не помню, чтобы когда-нибудь видел, как Eclipse добавляет запись о пути к классам в манифесте, но я мог пропустить это.

На панели «Спецификация манифеста Jar» во время экспорта просто выберите «Создать файл манифеста» и заполните запись «Основной класс:» в поле ввода.

0 голосов
/ 31 декабря 2011

Первое, что я рекомендую вам: не используйте src.main так, как вы делаете это прямо сейчас.В Java обычно мы используем папку с именем src или src / main или src / main / java для размещения источников.Тогда использовать это как пакет и имя класса не очень хорошая идея.Во-вторых,не называйте ваш класс main это не ключевое слово в Java, вы можете создать класс с этим именем, но ... это не очень хорошая идея.

И решение вашей проблемыпроблема: вам нужно настроить свой Main-Class и Class-Path в файле манифеста и быть уверенным в структуре вашего пакета (вашего jar), посмотрите этот учебник , он поможетвы.

...