2012-02-27 6 views
4

Я получаю следующую ошибку при выполнении скомпилированного jar-файла. Я установил свою java, но моя проблема еще не решена.Не удалось загрузить атрибут манифеста основного класса

Failed to load Main-class Manifest Attribute from 
D:\Tools\Lodable_Creation\dist\Lodable_Creation.jar 

В настоящее время на MANIFEST.MF файл выглядит следующим образом.

Manifest-Version: 1.0 
Ant-Version: Apache Ant 1.8.1 
Created-By: 1.6.0-b105 (Sun Microsystems Inc.) 
Main-Class: main 
X-COMMENT: Main-Class will be added automatically by build 

Я использую Netbeans 6.9.1 IDE.

+0

Может быть связано с http://stackoverflow.com/questions/2591516/why-its-failed-to-load-main-class-manifest-attribute-from-jar-file – Raghuram

+0

Ну, как выглядит ваш манифест ? Вы * попробовали * указать атрибут Main-class? –

+1

Пожалуйста, откройте свой JAR с помощью какого-нибудь инструмента, такого как winzip/7zip, и вставьте содержимое 'META-INF/Manifest.mf' в вопрос –

ответ

3

Используйте пакет для своего класса. Убедитесь, что ваш класс выглядит примерно так (обратите внимание на пакет и открытый класс):

package com.foo; 

public class Main { 

    public static void main(String[] args) { 
    } 
} 

После чего вы можете указать Main-Class, как так:

Main-Class: com.foo.Main 
2

Как adarshr предположил, JVM не в состоянии найти класс, потому что он требует полностью квалифицированного имени в атрибуте Main-Class файла манифеста.

На самом деле, нет необходимости указывать основной файл. Вы можете просто указать свой JAR-файл в качестве пути к классу и дать полное имя класса для запуска его с помощью java.

Скажите, что ваш JAR - myJar.jar, а полностью квалифицированный основной файл - com.user.Main. Затем из командной строки, перейдите в каталог, который имеет свой JAR файл и дать: -

java -classpath myJar.jar com.user.Main 

И это будет работать главный класс. Вам также нужно будет предоставить классы (или JAR) в пути к классам, которые используются (импортируются) в вашем основном классе.

См. this для получения более подробной информации.

0

Я столкнулся с этой ошибкой, когда у меня были проекты с JDK (1,7 в моем случае), а установленная JRE была более старой версией (1.6). Попробуйте обновить JRE или изменить JDK, если это возможно, в соответствии со своей версией JRE.

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