Як виправити помилку під час встановлення NetBeans?


13

Я встановив Java і намагаюся встановити NetBeans 11.3 на мою Windows 10, але після того, як я запустив exe. інсталятор, з’явилося повідомлення про помилку:

Несподіваний виняток стався в потоці main java.lang.NoClassDefFoundError java / util / jar / Pack200


2
Я підозрюю, що ви використовуєте Java 14, я відчуваю, що вони видалили Pack200 у цій версії. Спробуйте зі старішою версією Java.
mwarren

1
@mwarren це не просто відчуття: openjdk.java.net/jeps/367
Йоахім Роде

Використовуйте версію Java, підтримувану наявною версією Netbeans.
Thorbjørn Ravn Andersen

Інсталятор NetBeans буде запускатися вашим JDK, зареєстрованим змінною середовища "JAVA_HOME". Якщо ви раніше встановили JDK, ви можете тимчасово вказати "JAVA_HOME" на будь-який попередній Java 14 JDK, який би не мав проблем встановити NetBeans. Після завершення інсталяції ви можете змінити "JAVA_HOME" назад на JDK 14, якщо хочете.
Пенг

Відповіді:


10

У NetBeans є проблеми з jdk-14, тому що я вважаю, що ви встановили jdk-14, так що видаліть його та спробуйте його з jdk-13.0.2.


дякую вам і всім, хто прокоментував це! Я встановив 12 замість цього, і netbeans працює нормально!
Clairexxp

Цей розчин слід поєднувати з розчином @Felistrix. Запуск старшої JDK не є правильним рішенням. Я щойно це зробив, і все працює добре, плюс у мене є останній JDK.
Рассел Такстон

8

Вибачте, але на мій погляд, для встановлення старої версії з Java немає рішення, тільки тому, що вона працює. Якщо хтось має проблеми зі своїм Брандмауером, просто відключити Брандмауер також не буде рішенням.

https://www.java.com/en/download/faq/other_jreversions.xml
Ми настійно рекомендуємо користувачам видалити всі старіші версії Java зі своєї системи. Зберігання старих та непідтримуваних версій Java у вашій системі представляє серйозний ризик для безпеки. Видалення старих версій Java із вашої системи гарантує, що додатки Java запускатимуться із найсучаснішими поліпшеннями безпеки та роботи вашої системи.

"Реальним" рішенням було б перепрограмування інсталятора NetBeans. Ця використана функція була запропонована для застарілого 2018-04-04, що було зроблено 2018-08-23.
https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8200752
Видалення пропонувалося 2019-10-08, що було зроблено 2019-12-18.
https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8232022

https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8232022
Ми припускаємо, що розробники, які покладаються на Pack200, отримали достатньо сповіщень про його пропоноване видалення, щоб прийняти альтернативні домовленості. … Ми припускаємо, що розробники, які використовують pack200для зменшення JAR додатків, можуть перейти на будь-який jlinkінструмент або jpackageінструмент для створення конкретних програм для виконання з оптимізованим форм-фактором.

редагувати: Я вирішив це таким чином.

  1. видалено JDK 14
  2. встановлений JDK 13.0.2
  3. встановлено Apache NetBeans
  4. встановлено JDK 14
  5. відкрити C: \ Файли програми \ NetBeans \ netbeans \ тощо \ netbeans.conf та змінити шлях до JDK
  6. видалено JDK 13.0.2

Тепер NetBeans працює з JDK 14.



2

Так, я працював так, як випливає з cmd, коли йдеться про більш стару версію: Apache-NetBeans-11.3-bin-windows-x64.exe --javahome "C: \ Program Files \ Java \ jdk-12.0.2"


1

Якщо встановлено кілька версій JDK, вам потрібно визначити змінну середовища "JAVA_HOME", де встановити шлях до JDK-12. Деталі описані тут . (Тільки російською мовою)


1

Альтернативний шлях до Енді.
(Windows)
1) Клацніть правою кнопкою миші на програмі "Apache-NetBeans-11.3-bin-windows-x64" і встановіть "Створити ярлик".
2) Клацніть правою кнопкою миші створений ярлик і виберіть "Властивості".
3) У текстовому полі "цільовий" додайте свій кінець під версією нижче 14 JDK, ось як виглядає моя:

C: \ Users \ userfoldername \ Desktop \ Apache-NetBeans-11.3-bin-windows-x64.exe --javahome "C: \ Program Files \ Java \ jdk-13"

4) Після завершення натисніть кнопку ОК, двічі клацніть по ярлику, і він повинен встановитись зараз.


0

Перехід на openJDK 12 працював і для мене. Але замість видалення JDK або вручну змінити env, я використовую Sdkman.io, який працює як диспетчер версій Node, якщо ви цим користувалися. Він управляє вашими JDKS для вас і пропонує завантаження різних версій (Open, Zulu, Graals) і переключатиметься між ними за допомогою лише швидкої команди.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.