Jak naprawić błąd podczas instalacji NetBeans?


13

Zainstalowałem Javę i próbuję zainstalować NetBeans 11.3 na moim Windows 10, ale po uruchomieniu exe. instalator, pojawił się komunikat o błędzie:

Wystąpił nieoczekiwany wyjątek w głównym wątku java.lang.NoClassDefFoundError java / util / jar / Pack200


2
Podejrzewam, że używasz Java 14, mam wrażenie, że usunęli Pack200 w tej wersji. Wypróbuj starszą wersję Java.
mwarren

1
@mwarren to nie tylko uczucie: openjdk.java.net/jeps/367
Joachim Rohde

Użyj wersji Java obsługiwanej przez posiadaną wersję netbeans.
Thorbjørn Ravn Andersen

Instalator NetBeans będzie uruchamiany przez JDK zarejestrowany w zmiennej środowiskowej „JAVA_HOME”. Jeśli masz wcześniej zainstalowany JDK, możesz tymczasowo wskazać „JAVA_HOME” na dowolny JDK w wersji wcześniejszej niż Java 14, co nie miałoby problemu z instalacją NetBeans. Po zakończeniu instalacji zmień „JAVA_HOME” z powrotem na JDK 14, jeśli chcesz.
Peng

Odpowiedzi:


10

NetBeans ma problemy z jdk-14, ponieważ podejrzewam, że masz zainstalowany jdk-14, więc odinstaluj go i wypróbuj z jdk-13.0.2.


dziękuję i wszystkim, którzy to skomentowali! Zainstalowałem 12, a netbeans działa dobrze!
Clairexxp

To rozwiązanie należy połączyć z rozwiązaniem @Felistrix. Uruchomienie starszego JDK nie jest właściwym rozwiązaniem. Właśnie to zrobiłem i wszystko działa dobrze, a ponadto mam najnowszą wersję JDK.
Russell Thackston

8

Przykro mi, ale moim zdaniem jest zainstalowanie starej wersji z Javy bez rozwiązania, tylko dlatego, że działa. Gdy ktoś ma problemy ze swoją zaporą, po prostu wyłącz zaporę również nie będzie rozwiązaniem.

https://www.java.com/en/download/faq/other_jreversions.xml
Zdecydowanie zalecamy użytkownikom usunięcie wszystkich starszych wersji Java z systemu. Przechowywanie w systemie starych i nieobsługiwanych wersji Java stanowi poważne zagrożenie bezpieczeństwa. Usunięcie starszych wersji Javy z systemu gwarantuje, że aplikacje Java będą działały z najnowszymi poprawkami bezpieczeństwa i wydajności w systemie.

„Prawdziwym” rozwiązaniem byłoby przeprogramowanie instalatora NetBeans. Ta używana funkcja została zaproponowana jako przestarzała w dniu 04.04.2018 r., Która została wykonana w dniu 23.08.2018 r.
https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8200752
Sugerowano usunięcie 08.10.2019, które zostało wykonane 18.12.2019.
https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8232022

https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8232022
Zakładamy, że programiści korzystający z Pack200 mieli wystarczające powiadomienie o proponowanym usunięciu, aby dokonać alternatywnych uzgodnień. … Zakładamy, że programiści, którzy pack200zmniejszają pliki JAR aplikacji, mogą przełączyć się na jlinknarzędzie lub jpackagenarzędzie, aby tworzyć środowiska wykonawcze specyficzne dla aplikacji o zoptymalizowanym formacie.

edycja: Rozwiązałem to w ten sposób.

  1. odinstalował JDK 14
  2. zainstalowany JDK 13.0.2
  3. zainstalowany Apache NetBeans
  4. zainstalowany JDK 14
  5. otwórz C: \ Program Files \ NetBeans \ netbeans \ etc \ netbeans.conf i zmieniłem ścieżkę do JDK
  6. odinstalowano JDK 13.0.2

Teraz NetBeans działa z JDK 14.



2

Tak, działam w następujący sposób z cmd, odnosząc się do starszej wersji: Apache-NetBeans-11.3-bin-windows-x64.exe --javahome "C: \ Program Files \ Java \ jdk-12.0.2"


1

Jeśli zainstalowanych jest kilka wersji JDK, musisz zdefiniować zmienną środowiskową „JAVA_HOME”, gdzie ustawić ścieżkę do JDK-12. Szczegóły opisano tutaj . (Tylko w języku rosyjskim)


1

Alternatywny sposób do Andy'ego.
(Windows)
1) Kliknij prawym przyciskiem myszy instalator „Apache-NetBeans-11.3-bin-windows-x64” i wybierz „Utwórz skrót”.
2) Kliknij utworzony skrót prawym przyciskiem myszy i wybierz „Właściwości”.
3) W polu tekstowym „docelowym” dodaj na końcu ścieżkę wersji JDK poniżej 14, oto jak wygląda moja:

C: \ Users \ nazwa_użytkownika \ Desktop \ Apache-NetBeans-11.3-bin-windows-x64.exe --javahome „C: \ Program Files \ Java \ jdk-13”

4) Po zakończeniu naciśnij przycisk OK, kliknij dwukrotnie skrót, który powinien teraz zostać poprawnie zainstalowany.


0

Przejście na openJDK 12 też mi działało. Ale zamiast odinstalować JDK lub ręcznie zmienić env, używam Sdkman.io, który działa jak menedżer wersji Node, jeśli go użyłeś. Zarządza dla Ciebie JDKS i oferuje pobieranie różnych wersji (Open, Zulu, Graals) i przełącza się między nimi za pomocą szybkiego polecenia.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.