Как исправить ошибку invalid or corrupt jarfile

У меня есть javafx проект, я сделал jar файл так: в структуре проекта выбрал Artifacts->нажал плюс->JAR->from modules with dependencies. Далее указал где у меня находится Main класс. После этого забилдил jar файл. Нажимаю я на него а там ошибка следующая: Error: Invalid or corrupt jarfile . Как исправить?

Файл manifest.mf

Manifest-Version: 1.0
Main-Class: Graphics

Структура проекта:

введите сюда описание изображения

задан 2 июн 2018 в 18:00

Санаев's user avatar

СанаевСанаев

1,8751 золотой знак9 серебряных знаков29 бронзовых знаков

В общем idea в не правильный каталог генерирует Manifest файл. Нужно его перекинуть в resources

ответ дан 2 июн 2018 в 18:52

Санаев's user avatar

СанаевСанаев

1,8751 золотой знак9 серебряных знаков29 бронзовых знаков

Если возникает данная ошибка, то необходимо:

  1. Перенести папку META-INF с файлом MANIFEST.INF в папку resources
  2. Нажать Build Project (Ctrl+F9)
  3. После построения нажать Run (Ctrl+F10)
  4. Проверить на правильность выполнения Вашего кода (в большинстве случаев ошибка пропадает)

ответ дан 27 дек 2019 в 19:14

dexXxed's user avatar

У меня есть javafx проект, я сделал jar файл так: в структуре проекта выбрал Artifacts->нажал плюс->JAR->from modules with dependencies. Далее указал где у меня находится Main класс. После этого забилдил jar файл. Нажимаю я на него а там ошибка следующая: Error: Invalid or corrupt jarfile . Как исправить?

Файл manifest.mf

Manifest-Version: 1.0
Main-Class: Graphics

Структура проекта:

введите сюда описание изображения

задан 2 июн 2018 в 18:00

Санаев's user avatar

СанаевСанаев

1,8751 золотой знак9 серебряных знаков28 бронзовых знаков

В общем idea в не правильный каталог генерирует Manifest файл. Нужно его перекинуть в resources

ответ дан 2 июн 2018 в 18:52

Санаев's user avatar

СанаевСанаев

1,8751 золотой знак9 серебряных знаков28 бронзовых знаков

Если возникает данная ошибка, то необходимо:

  1. Перенести папку META-INF с файлом MANIFEST.INF в папку resources
  2. Нажать Build Project (Ctrl+F9)
  3. После построения нажать Run (Ctrl+F10)
  4. Проверить на правильность выполнения Вашего кода (в большинстве случаев ошибка пропадает)

ответ дан 27 дек 2019 в 19:14

dexXxed's user avatar

4814 / 2275 / 287

Регистрация: 01.03.2013

Сообщений: 5,936

Записей в блоге: 26

1

16.01.2016, 19:17. Показов 6698. Ответов 14


Я наверное уже 100500-й, кто сталкивается с подобной проблемой.

В IntelliJ IDEA-14 создал проект, в параметрах версия Java 1.8, на моем компе запускается и из IDEA, и jar-артифакт. Перенес jar на другой комп, поставил там Java 1.8.66 распоследнюю — пишет такую ошибку при запуске. Про manifesrt ничего не знаю пока, буду читать еще. java -cp launcher/target/usergrid-launcher-1.0-SNAPSHOT.jar co.pseudononymous.Server по совету с http://stackoverflow.com/quest… t-jar-file не помогает.

Как вообще надо создавать нормальные стандалон-приложения на java?

0

942 / 686 / 229

Регистрация: 28.04.2013

Сообщений: 1,924

16.01.2016, 19:28

2

Цитата
Сообщение от _Ivana
Посмотреть сообщение

пишет такую ошибку при запуске

какую такую?

Цитата
Сообщение от _Ivana
Посмотреть сообщение

Как вообще надо создавать нормальные стандалон-приложения на java?

тыц

1

4814 / 2275 / 287

Регистрация: 01.03.2013

Сообщений: 5,936

Записей в блоге: 26

16.01.2016, 19:32

 [ТС]

3

Цитата
Сообщение от reisal78
Посмотреть сообщение

какую такую?

какая написана в заголовке темы.

Цитата
Сообщение от reisal78
Посмотреть сообщение

тыц

а без мэйвенов/антов и прочих систем сборки никак нельзя? Мне бы попроще, я класс Main написал, одноименный метод в нем определил… Или придется еще осваивать страшные технологии и апи сборочных систем?

0

942 / 686 / 229

Регистрация: 28.04.2013

Сообщений: 1,924

16.01.2016, 19:33

4

но jvm все равно нужна будет

0

4814 / 2275 / 287

Регистрация: 01.03.2013

Сообщений: 5,936

Записей в блоге: 26

16.01.2016, 19:34

 [ТС]

5

Цитата
Сообщение от reisal78
Посмотреть сообщение

но jvm все равно нужна будет

а то что я скачал на комп последнюю 1.8.66 — это не то? Там jre вроде, она содержит в себе jvm, а jdk мне не нужна — мне только запускать там, не разрабатывать. Или я что-то не понимаю?

0

942 / 686 / 229

Регистрация: 28.04.2013

Сообщений: 1,924

16.01.2016, 19:38

6

Цитата
Сообщение от _Ivana
Посмотреть сообщение

Или я что-то не понимаю?

нет, вы все правильно поняли.

Я имел ввиду, что при сборке проекта мавеном jvm не включается внутрь.

На форуме где то была информация, что есть продукты которые и jre запихнут. Но я с этим не сталкивался.

0

4814 / 2275 / 287

Регистрация: 01.03.2013

Сообщений: 5,936

Записей в блоге: 26

16.01.2016, 19:48

 [ТС]

7

Спасибо, на шару прокатить не получилось, видимо придется постигать концепцию исполнения / сборки в Java…
Проект у меня на Swing, несколько классов и своих иконок в отдельном каталоге. Хочу минимального размера jar-ник, чтобы в нем было все что нужно (и упакованные иконки), но ничего лишнего.

0

942 / 686 / 229

Регистрация: 28.04.2013

Сообщений: 1,924

16.01.2016, 19:57

8

_Ivana, кстати а покажите строчку из кода, как вы указываете путь к картинке )

0

4814 / 2275 / 287

Регистрация: 01.03.2013

Сообщений: 5,936

Записей в блоге: 26

16.01.2016, 20:02

 [ТС]

9

reisal78, чтобы это сделать, мне надо или добраться до компа с файлами исходников, или сейчас распаковать jar-ник (мне только что подсказали, что это обычный zip архив, оказывается), выдернуть как-то оттуда текст кода, открыть его в блокноте и скопировать строки Но в архиве (как я сейчас наблюдаю) у меня упаковано ВСЕ из папки сорцов — море других картинок которые не нужны, еще какие-то файлы…

Добавлено через 1 минуту
Навскидку там было что-то про URL… Своих мозгов нет — копипастю кусками со стэковерфлоу — что работает оставляю Так и пишу

0

942 / 686 / 229

Регистрация: 28.04.2013

Сообщений: 1,924

16.01.2016, 20:08

10

_Ivana, внутри вашего jarника есть файл манифеста?

0

_Ivana

4814 / 2275 / 287

Регистрация: 01.03.2013

Сообщений: 5,936

Записей в блоге: 26

17.01.2016, 01:46

 [ТС]

11

Есть. Но я его не создавал конечно и не смотрел пока. Наверное IDEA создала когда проект по шаблону генерировала. Но я создавал проект по шаблону консольного, а потом сам отнаследовался от Jframe и сделал GUI Swing. Вот что в манифесте:

Manifest-Version: 1.0
Main-Class: com.company.Main

Через вот такой ручной мутабор:

C:UsersAnton>»C:Program Files (x86)Javajdk1.8.0_66binjava.exe» -cp «C:UsersAntonDesktopLiscriptJava_1.jar» com.company.Main

— заработала! Не прошло и нескольких часов тыкания Спасибо!

ЗЫ но все равно надо решить вопрос, как сделать нормально запускающееся приложение

Добавлено через 3 часа 40 минут
Может кому пригодится (не знаю пока, мой ли это случай, но по симптомам очень похоже): http://bugs.java.com/bugdataba… id=7194005
И совет именно такой — обойти манифест и передавать путь к мэйну напрямую через -ср.

Добавлено через 24 минуты
ЗЫ reisal78, вы просили кот загрузки иконок:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    protected ImageIcon createImageIcon(String path, String description) {
        java.net.URL imgURL = getClass().getResource(path);
        if (imgURL != null) {
            return new ImageIcon(imgURL, description);
        } else {
            System.err.println("Couldn't find file: " + path);
            return null;
        }
    }
 
.........
 
button.setToolTipText("run edit pane (Ctrl+F1)");
button.setIcon(createImageIcon("images/Play.png", button.getToolTipText()));

0

Эксперт Java

2390 / 2216 / 564

Регистрация: 28.12.2010

Сообщений: 8,658

17.01.2016, 10:51

12

Цитата
Сообщение от _Ivana
Посмотреть сообщение

java.net.URL imgURL = getClass().getResource(path);

иконки отображаются? Насколько я помню из jar файла резолвятся только стримы.

0

reisal78

942 / 686 / 229

Регистрация: 28.04.2013

Сообщений: 1,924

17.01.2016, 17:08

13

Цитата
Сообщение от KEKCoGEN
Посмотреть сообщение

Насколько я помню из jar файла резолвятся только стримы.

Java
1
ImageIcon icon = new ImageIcon(this.getClass().getClassLoader().getResource("img.png"));

Вот такая штука нормально получает картинки из jar файла. (Проект Maven — resources)

0

4814 / 2275 / 287

Регистрация: 01.03.2013

Сообщений: 5,936

Записей в блоге: 26

17.01.2016, 20:59

 [ТС]

14

KEKCoGEN, иконки отображаются, у меня в jar-е заархивирована папка images и нужные иконки, и такой код их нормально достает. Свойства проекта — 1.8, может это влияет. А что, задача отображения иконок в Java также сложна и полна подводных камней и багов?

0

4814 / 2275 / 287

Регистрация: 01.03.2013

Сообщений: 5,936

Записей в блоге: 26

21.01.2016, 00:15

 [ТС]

15

Альфа-версия интерпретатора готова, если у кого будет интерес, вышлю архив с исполняемым файлом и демо-примерами. Или скажите куда можно выложить для общего доступа (70 Кб весь архив, этот форум не предлагать).

0

I have a Intellij Gradle project for HelloWorld. The program runs in the IDE but running the jar files with an invalid or corrupt jar error. I made several changes to the build.gradle and Manifest and still this does not run. I am using Ubuntu 16.04.

I think the issue is related to the manifest.

IDE —

Intellij — 2019.2
Gradle Project

Java - java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

build.gradle —

plugins {
    id 'java'
}

group 'com.HelloWorldTesting'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

jar {
    from {
        configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
    }
    manifest {
        attributes(
                'Implementation-Title': 'Hello World',
                "Main-Class": "com.HelloWorldTesting.Hello"
        )
    }
    archivesBaseName = 'app'
}

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

Class —

public class Hello {
    public static void main(String[] args) {
        // Prints "Hello, World" to the terminal window.
        System.out.println("Hello, World");
    }
}

Error: Invalid or corrupt jarfile HelloWorldArt.main.jar

tree —

.
├── build
│   ├── classes
│   │   └── java
│   │       └── main
│   │           └── Hello.class
│   └── tmp
│       └── compileJava
├── build.gradle
├── gradle
│   └── wrapper
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── META-INF
│   └── MANIFEST.MF
├── out
│   └── artifacts
│       ├── HelloWorldArt_jar
│       │   └── HelloWorldArt.jar
│       └── HelloWorldArt_main_jar
│           └── HelloWorldArt.main.jar
├── settings.gradle
├── src
│   ├── main
│   │   ├── java
│   │   │   ├── Hello.java
│   │   │   └── META-INF
│   │   │       └── MANIFEST.MF
│   │   └── resources
│   └── test
│       ├── java
│       └── resources

I have a Intellij Gradle project for HelloWorld. The program runs in the IDE but running the jar files with an invalid or corrupt jar error. I made several changes to the build.gradle and Manifest and still this does not run. I am using Ubuntu 16.04.

I think the issue is related to the manifest.

IDE —

Intellij — 2019.2
Gradle Project

Java - java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

build.gradle —

plugins {
    id 'java'
}

group 'com.HelloWorldTesting'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

jar {
    from {
        configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
    }
    manifest {
        attributes(
                'Implementation-Title': 'Hello World',
                "Main-Class": "com.HelloWorldTesting.Hello"
        )
    }
    archivesBaseName = 'app'
}

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

Class —

public class Hello {
    public static void main(String[] args) {
        // Prints "Hello, World" to the terminal window.
        System.out.println("Hello, World");
    }
}

Error: Invalid or corrupt jarfile HelloWorldArt.main.jar

tree —

.
├── build
│   ├── classes
│   │   └── java
│   │       └── main
│   │           └── Hello.class
│   └── tmp
│       └── compileJava
├── build.gradle
├── gradle
│   └── wrapper
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── META-INF
│   └── MANIFEST.MF
├── out
│   └── artifacts
│       ├── HelloWorldArt_jar
│       │   └── HelloWorldArt.jar
│       └── HelloWorldArt_main_jar
│           └── HelloWorldArt.main.jar
├── settings.gradle
├── src
│   ├── main
│   │   ├── java
│   │   │   ├── Hello.java
│   │   │   └── META-INF
│   │   │       └── MANIFEST.MF
│   │   └── resources
│   └── test
│       ├── java
│       └── resources

If you can’t install Minecraft Forge because of the invalid or corrupt jarfile error, keep on reading this guide to learn what might have caused it and how you can fix it.

1. Make sure the download is complete

If you’re trying to launch the game before the download is complete, you’ll get all sorts of errors, including the invalid or corrupt jarfile error.

Make sure Minecraft Forge is showing up in your downloads folder. Then, check if your browser is not blocking it for some reason.

Go to your browser’s download manager, recover the file and try again.

2. Use a different browser

Many of the users who complained about invalid or corrupt jarfile errors in Minecraft used Firefox to download the game.

It seems that Firefox often blocks the Minecraft Forge download. That’s why we suggest you should try to download the game using a different browser.

3. Update your Java version

Ensure you’re running the latest Java version on your computer. Download a newer version if you’re running an outdated version.

4. Close background programs

When downloading Minecraft Forge, or any other game or program on your computer, remember to close all the programs and processes running in the background.

Some of the programs actively running on your machine might block the download process. Or they may interfere with Minecraft Forge when you try to load the launcher.

You can close background programs using the Task Manager or by clean booting your computer.

If you prefer to use the Task Manager, select the Processes tab and right-click on the programs you want to disable. Then select End Task.

You can also temporarily disable your antivirus and firewall. These programs might mistakenly flag certain Minecraft files as suspicious and block them.

Don’t forget to re-enable your antivirus and firewall after you downloaded and installed Minecraft Forge.

We hope something helps.

  1. 24.07.2018, 14:24


    #1

    AlexCylShow вне форума


    Новичок

    Аватар для AlexCylShow


    Сообщений
    3

    Регистрация
    18.06.2018

    Репутация

    0


     

    Поблагодарил(а) 0

    Получено благодарностей: 0 (сообщений: 0).

    Ошибка при запуске лаунчера. Error: invalir orcorrupt jarfile Launcher.jar

    При запуске лаунчера выдает ошибку Error: invalir orcorrupt jarfile Launcher.jar
    Пробовал удалять папку в roaming,перекачивал лаунчер,переустанавливал JAVA делал все то же только с отключенным ативирусом, ничего не помогает.
    ПОМОГИТЕ решить данную проблему, я уже не знаю что делать.


  2. 24.07.2018, 16:25


    #2

    PyJIeTka вне форума


    Наблюдатель

    Аватар для PyJIeTka


    Сообщений
    94

    Cервер
    Classic, Hi-tech

    Любимые моды
    IC2, BC

    Любимый монстр
    Ghast

    Текстур пак
    Прозрачный

    Регистрация
    20.06.2012

    Репутация

    0


     

    Поблагодарил(а) 1

    Получено благодарностей: 2 (сообщений: 2).

    Отправить сообщение для PyJIeTka с помощью Skype™

    Нашел файл, помоглоСкачиваем этот файл, далее действуем инструкции

    2. Заходишь в папку .minecraftonly (набираешь в поиске в пуске %appdata%)
    3. Удаляешь Launcher или же Launcher.jar
    4. Скидываешь скаченный файл в эту папку.
    5. Переименуй её как Launcher.
    6. Играй счастливым 🙂


  3. 24.07.2018, 16:34


    #3

    AlexCylShow вне форума


    Новичок

    Аватар для AlexCylShow


    Сообщений
    3

    Регистрация
    18.06.2018

    Репутация

    0


     

    Поблагодарил(а) 0

    Получено благодарностей: 0 (сообщений: 0).

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)


Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  • BB коды Вкл.
  • Смайлы Вкл.
  • [IMG] код Вкл.
  • HTML код Выкл.

Правила форума

If you can’t install Minecraft Forge because of the invalid or corrupt jarfile error, keep on reading this guide to learn what might have caused it and how you can fix it.

1. Make sure the download is complete

If you’re trying to launch the game before the download is complete, you’ll get all sorts of errors, including the invalid or corrupt jarfile error.

Make sure Minecraft Forge is showing up in your downloads folder. Then, check if your browser is not blocking it for some reason.

Go to your browser’s download manager, recover the file and try again.

2. Use a different browser

Many of the users who complained about invalid or corrupt jarfile errors in Minecraft used Firefox to download the game.

It seems that Firefox often blocks the Minecraft Forge download. That’s why we suggest you should try to download the game using a different browser.

3. Update your Java version

Ensure you’re running the latest Java version on your computer. Download a newer version if you’re running an outdated version.

4. Close background programs

When downloading Minecraft Forge, or any other game or program on your computer, remember to close all the programs and processes running in the background.

Some of the programs actively running on your machine might block the download process. Or they may interfere with Minecraft Forge when you try to load the launcher.

You can close background programs using the Task Manager or by clean booting your computer.

If you prefer to use the Task Manager, select the Processes tab and right-click on the programs you want to disable. Then select End Task.

You can also temporarily disable your antivirus and firewall. These programs might mistakenly flag certain Minecraft files as suspicious and block them.

Don’t forget to re-enable your antivirus and firewall after you downloaded and installed Minecraft Forge.

We hope something helps.



Ученик

(247),
закрыт



2 года назад

KILAURA PRO

Ученик

(135)


2 года назад

устонови лучше вин 10 там прост не рабит на версии ниже если и рабит то с лагами если не поможет скачай флаунчер топ лаунчер с читами ну или не скачался как надо или нужно проверять консоль всех драйверов установленых на комп потому что не ско-ко драйвиков могут быть тупые поэтому найди в инете хороший драйвер если обсолютно ни чего из предложеного не подходит то попробуй сначала загрузить на комп видовс XP старого происхождения а потом винду 10 и всё если это не поможет то посмотри мож чё внутри сломалось если всё норм но не работает даже после этих всех процедур попробуй заменить некоторые детальки на комп е если опять не рабит скачай лицензуху не очень дорого на каких ни будь сайтах а если не рабит то скачай демо бесплатно с майнкрафт сайта а если ни чего не помогает на свой тел скачай пе на бей скачать бесплатно майнкрафт (версия) xbox кста xbox обязательно или на сервах не смож гонять ещё зарегенься в xbox
ну если нееееее то поиграй в роблокс в строке напиши роблокс и зарегенься на сайте скачай игру на жми на все галочки которы вылезут и играй если нет то купи нов комп если нет то вобще не надо покупать компы телефоны и т. д. играй в лего если нет то поиграй во сне если нет убейся и возродись если нет то просто ни счё нИдеЛай

ilfeeУченик (247)

2 года назад

Зачем мне pe? Xbox у меня нету, да я бы и не играл в майнкрафт а нём, я не дибил чтобы для впв играть на Xbox. С читами я не играю, не отморозок.

Добавить комментарий