2015-01-07 5 views
2

У меня есть проект с mail.jar в папке lib. Я создал файл манифеста, какjava.lang.NoClassDefFoundError: javax/mail/Ошибка адреса

Manifest-Version: 1.0 
Main-Class: mainfile 
Class-Path: lib/mail.jar 

я экспортировал jar файла, используя затмение.

Я попытался запустившего банку сейчас, как java -jar myjar.jar и я получаю ошибку

java.lang.NoClassDefFoundError: javax/mail/Address 

Все указатели будут весьма благодарны

+0

Как вы управляете банкой? Ящик, содержащий 'javax.mail.Address', не находится в пути к классам. – Jagger

+0

Файл манифеста должен заканчиваться новой строкой. Это ваш случай? – panagdu

+0

Я запускаю с помощью java -jar myjar.jar, поскольку, как я думал, в jar-файле присутствует mail.jar, который содержит javax.mail.Address, и устанавливается как путь к классам в файле манифеста. – stackuser

ответ

3
  1. Добавить mail.jar в вашем пути к классам.
  2. Убедитесь, что в вашем классе нет опечаток.
  3. Проверьте экспортированный файл jar, все необходимые банки приходят туда, если нет, вам нужно использовать опцию eclipse Extract required libraries into generated JAR.
+0

Да. У меня есть файл mail.jar в файле манифеста Class-Path. Но все еще стоит перед этим вопросом. – stackuser

+0

Я отредактировал свой ответ, проверьте свой файл jar. –

+0

Я выбрал вариант создать runnable jar-файл с помощью опции eclipse и extract library, и теперь я вижу, что файл jar работает. Спасибо за всю помощь – stackuser

0

С Oracle documentation:

The text file must end with a new line or carriage return. The last line will not be parsed properly if it does not end with a new line or carriage return.

Так это должно выглядеть примерно так:

Manifest-Version: 1.0 
Class-Path: lib/mail.jar 
Created-By: 1.7.0_06 (Oracle Corporation) 

Кроме того, убедитесь, что ваш MANIFEST.MF в папку META-INF.

+0

Я тоже пробовал ... но все же я сталкиваюсь с той же ошибкой – stackuser

+0

@stackuser Является ли ваш MANIFEST.MF внутри папки META-INF? – panagdu

0

В моем случае путь к классам был обновлен и новый путь к классам не хватает mail.jar и activation.jar


Так связь/копирование

  1. mail.jar
  2. активации. jar

В каталоге классов classpath может быть одним из решений.


Смежные вопросы