2016-09-26 4 views
1

Я использую IBM Relational Application Developer (RAD) в качестве моей IDE. У меня есть один Java-класс в моем проекте, и я назвал его extract.java. У меня есть несколько файлов библиотек и ресурсов, связанных с моим проектом. Я экспортировал свой проект как файл фляги с помощью IDE и запустил его через командную строку на солярис среду, используя следующий запрос:Не удалось загрузить атрибут манифеста Main-Class из ошибки myFile.jar

$java -jar myFile.jar 

Я получаю следующее сообщение об ошибке:

Failed to load Main-Class manifest attribute from myFile.jar

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

PS: Нет ошибок при запуске класса как приложения Java из IDE на компьютере Windows.

enter image description here

ответ

2

Чтобы сделать JAR исполняемого JAR в РАУ, выполните следующие действия:

  1. правой кнопкой мыши на проекте и выберите Экспорт ...
  2. Выберите Java> Runnable файл JAR и нажмите кнопку Далее.
  3. В поле «Настройка запуска» выберите свой класс Java, который содержит метод public static void main(String[] args).
  4. Укажите место назначения.
  5. И наконец, определите, как библиотеки, если они есть, в вашем проекте должны быть упакованы в JAR.
  6. Нажмите «Готово».

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

Надеюсь, это поможет.

1

В файле фляга, вам нужно добавить или изменить файл /META-INF/MANIFEST.MF соответствующего манифест вашей баночки, чтобы добавить атрибут Main-Class:

Main-Class: my.package.MyClass 

Если предположить, что my.package.MyClass является полностью квалифицированным Имя класса, который имеет метод main для вызова, когда вы запускаете свой файл jar с java -jar myFile.jar

+0

Не могли бы вы помочь мне понять, где я могу добавить этот файл манифеста? он идет в RAD до того, как я экспортирую или уйду в Solaris? если мне нужно создать его перед экспортом, где находится этот файл? если после, я предполагаю, что он идет в том же каталоге, что и jar? –

+0

он находится в вашем файле jar в '/ META-INF/MANIFEST.MF' –

+0

Пожалуйста, проверьте файл jar, прикрепленный к вопросу. Я не уверен, как я это обновить? Я открыл это с помощью блокнота ++. есть ли другой инструмент, который я должен использовать, чтобы открыть его? Кроме того, просмотрел Run Configurations для моего проекта, а MyClass установлен в основной класс. Я думал, что он будет выбирать эту информацию при создании файла jar –