Не удалось загрузить атрибут манифеста основного класса - PullRequest
4 голосов
/ 27 февраля 2012

Я получаю следующую ошибку при выполнении скомпилированного файла 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

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

Ответы [ 3 ]

3 голосов
/ 27 февраля 2012

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

package com.foo;

public class Main {

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

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

Main-Class: com.foo.Main
2 голосов
/ 27 февраля 2012

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

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

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

java -classpath myJar.jar com.user.Main

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

Подробнее см. эту ссылку.

0 голосов
/ 27 февраля 2012

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

...