Nie mogę uruchomić Intellij pod Javą 11

1

Witam, mam zainstalowaną Jave 11 w wersji

java --version
openjdk 11.0.1 2018-10-16
OpenJDK Runtime Environment (build 11.0.1+13)
OpenJDK 64-Bit Server VM (build 11.0.1+13, mixed mode)

Zrobiłem chmod +x idea.sh ale przy próbie uruchomienia wyskakuje taki błąd ./idea.sh

Internal error. Please report to http://jb.gg/ide/critical-startup-errors java.lang.RuntimeException: com.intellij.ide.plugins.PluginManager$StartupAbortedException: Fatal error initializing 'com.intellij.ide.ui.LafManager' at com.intellij.idea.IdeaApplication.run(IdeaApplication.java:216) at com.intellij.idea.IdeaApplication.lambda$initApplication$0(IdeaApplication.java:75) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:361) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) Caused by: com.intellij.ide.plugins.PluginManager$StartupAbortedException: Fatal error initializing 'com.intellij.ide.ui.LafManager' at com.intellij.ide.plugins.PluginManager.handleComponentError(PluginManager.java:257) at com.intellij.openapi.components.impl.PlatformComponentManagerImpl.handleInitComponentError(PlatformComponentManagerImpl.java:43) at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentConfigComponentAdapter.getComponentInstance(ComponentManagerImpl.java:506) at com.intellij.openapi.components.impl.ComponentManagerImpl.createComponents(ComponentManagerImpl.java:107) at com.intellij.openapi.application.impl.ApplicationImpl.lambda$createComponents$9(ApplicationImpl.java:446) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$1(CoreProgressManager.java:157) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:580) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:525) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:85) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:144) at com.intellij.openapi.application.impl.ApplicationImpl.createComponents(ApplicationImpl.java:453) at com.intellij.openapi.components.impl.ComponentManagerImpl.init(ComponentManagerImpl.java:91) at com.intellij.openapi.application.impl.ApplicationImpl.load(ApplicationImpl.java:405) at com.intellij.openapi.application.impl.ApplicationImpl.load(ApplicationImpl.java:391) at com.intellij.idea.IdeaApplication.run(IdeaApplication.java:209) ... 15 more Caused by: java.lang.NoClassDefFoundError: com/sun/java/swing/plaf/windows/WindowsLookAndFeel at com.intellij.ide.ui.laf.IdeaLaf.initIdeaDefaults(IdeaLaf.java:81) at com.intellij.ide.ui.laf.IdeaLaf.initComponentDefaults(IdeaLaf.java:28) at java.desktop/javax.swing.plaf.basic.BasicLookAndFeel.getDefaults(BasicLookAndFeel.java:150) at java.desktop/javax.swing.plaf.metal.MetalLookAndFeel.getDefaults(MetalLookAndFeel.java:1560) at com.intellij.ide.ui.laf.darcula.DarculaLaf.getDefaults(DarculaLaf.java:95) at java.desktop/javax.swing.UIManager.setLookAndFeel(UIManager.java:587) at com.intellij.ide.ui.laf.LafManagerImpl.setCurrentLookAndFeel(LafManagerImpl.java:395) at com.intellij.ide.ui.laf.LafManagerImpl.initComponent(LafManagerImpl.java:191) at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentConfigComponentAdapter.getComponentInstance(ComponentManagerImpl.java:488) ... 27 more Caused by: java.lang.ClassNotFoundException: com.sun.java.swing.plaf.windows.WindowsLookAndFeel at com.intellij.util.lang.UrlClassLoader.findClass(UrlClassLoader.java:224) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ... 36 more

0

Ten model tak ma.
W zasadzie będzie działać dobrze tylko na jdk 8 (załączone w paczce z intellij zwykle):
https://youtrack.jetbrains.com/issue/IDEA-195856
https://intellij-support.jetbrains.com/hc/en-us/articles/206544879

0

No to szkoda, mam wgrany nowy system Linux.

0
AMD64 napisał(a):

No to szkoda, mam wgrany nowy system Linux.

Ale znajesz sobie sprawę że możesz mieć więcej niż jedno JDK / JRE zainstalowane na maszynie?
https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will-run-under

0

Tzn już odinstalowałem pakiety jre-openjdk jdk-openjdk w wersji 11. Mam w repozytorium pakiety do Javy 7, 8, 10. Prawdopodobnie za jakiś czas to naprawią.

1

Ja zarówno na Windowsie jak i Linuksie robię tak samo - IntelliJa odpalam pod wbudowanym w niego JRE, a programy pod systemowym lub jeszcze innym. Wbudowane JRE jest przynajmniej dobrze przetestowane z IntelliJem i zawiera poprawki od JetBrainsów (np poprawki renderowania), więc po co kombinować inaczej?

0

Potwierdzam, próba zmuszania IJ do użycia innego JRE niż ten wbudowany to proszenie się o kłopoty.
Własne projekty można targetować na co się chce.

0

Tylko dlaczego jak odpaliłem w ten sposób
./idea.sh nie przydzielił on sobie wbudowanej Javy 8, tylko od razu sypał komunikatami błędu? Ja to myślałem, że do uruchamiania programów napisanych w Javie potrzebny jest tylko jdk, a jre do tworzenia programów w Javie. Dopiero po wykasowaniu całkowicie Javy 11, Intellij odpalił się na swojej własnej wbudowanej Javie. To jak to w końcu jest z tym IDE, wpierw sprawdza, czy w systemie zainstalowana jest jakaś wersja Javy, a dopiero potem gdy jej nie odnajdzie przydziela swoją własną?

0
Nadziany Kret napisał(a):

Tylko dlaczego jak odpaliłem w ten sposób
./idea.sh nie przydzielił on sobie wbudowanej Javy 8, tylko od razu sypał komunikatami błędu? Ja to myślałem, że do uruchamiania programów napisanych w Javie potrzebny jest tylko jdk, a jre do tworzenia programów w Javie. Dopiero po wykasowaniu całkowicie Javy 11, Intellij odpalił się na swojej własnej wbudowanej Javie. To jak to w końcu jest z tym IDE, wpierw sprawdza, czy w systemie zainstalowana jest jakaś wersja Javy, a dopiero potem gdy jej nie odnajdzie przydziela swoją własną?

Coś masz bardzo dziwnego.
Jak przeczytasz kod idea.sh to jest tam napisane:

# Locate a JDK installation directory which will be used to run the IDE.
# Try (in order): IDEA_JDK, idea.jdk, ./jre64, JDK_HOME, JAVA_HOME, "java" in PATH.

A pod spodem dokładnie w tej kolejności wpisywane.

IDEA_JDK to zmienna środowiskowa - raczej nie masz przez przypadk ustawione.
idea.jdk to plik $HOME/.IntelliJIdea2018.2/config/idea.jdk - raczej normalnie nie jest ustawiany, zwykle tego pliku nie masz.
Następny w kolejności jest brany wbudowane jre z folderu - czyli to co trzeba.
A gdzieś tam na szarym końcu systemowo zainstalowana java.

EDIT:
chyba, że ten kod się wali:

if [ -z "$JDK" -a "$OS_TYPE" = "Linux" ] ; then
  BUNDLED_JRE="$IDE_HOME/jre64"
  if [ ! -d "$BUNDLED_JRE" ]; then
    BUNDLED_JRE="$IDE_HOME/jre"
  fi
  if [ -x "$BUNDLED_JRE/bin/java" ] && "$BUNDLED_JRE/bin/java" -version > /dev/null 2>&1 ; then
    JDK="$BUNDLED_JRE"
  fi

Może masz wersję pod linux, jre masz pod folderem jre64, ale twój OS_TYPE nie jest rozpoznany jako Linux ?
OS_TYPE to chamskie uname -s , więc jak sobie zrobiłeś własny kernel i poprzemieniałeś nazwy to nie zadziała :-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1