Problem z instalacją Eclipse z Javą 9 na Ubuntu


2

Mam Xubuntu 17.10. Próbowałem zainstalować Eclipse przez apt-get. Gdy próbowałem go uruchomić, wystąpił błąd

An error has occurred. See the log file
/home/jaakko/.eclipse/org.eclipse.platform_3.8_155965261/configuration/1510564798671.log.

Plik dziennika jest następujący:

!SESSION 2017-11-13 11:19:57.077 -----------------------------------------------
eclipse.buildId=debbuild
java.version=9.0.1
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Command-line arguments:  -os linux -ws gtk -arch x86_64

!ENTRY org.eclipse.equinox.simpleconfigurator 4 0 2017-11-13 11:20:00.209
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: The bundle "org.eclipse.equinox.simpleconfigurator_1.0.301.dist [1]" could not be resolved. Reason: Missing Constraint: Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,J2SE-1.4
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.getResolverError(AbstractBundle.java:1332)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.getResolutionFailureException(AbstractBundle.java:1316)
    at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:323)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:390)
    at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1176)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)

!ENTRY org.eclipse.osgi 4 0 2017-11-13 11:20:00.222
!MESSAGE Bundle initial@reference:file:plugins/org.eclipse.equinox.simpleconfigurator_1.0.301.dist.jar was not resolved.

!ENTRY org.eclipse.osgi 2 0 2017-11-13 11:20:00.256
!MESSAGE One or more bundles are not resolved because the following root constraints are not resolved:
!SUBENTRY 1 org.eclipse.osgi 2 0 2017-11-13 11:20:00.256
!MESSAGE Bundle initial@reference:file:plugins/org.eclipse.equinox.simpleconfigurator_1.0.301.dist.jar was not resolved.
!SUBENTRY 2 org.eclipse.equinox.simpleconfigurator 2 0 2017-11-13 11:20:00.256
!MESSAGE Missing required capability Require-Capability: osgi.ee; filter="(|(&(osgi.ee=CDC/Foundation)(version=1.1))(&(osgi.ee=JavaSE)(version=1.4)))".

!ENTRY org.eclipse.osgi 2 0 2017-11-13 11:20:00.268
!MESSAGE The following is a complete list of bundles which are not resolved, see the prior log entry for the root cause if it exists:
!SUBENTRY 1 org.eclipse.osgi 2 0 2017-11-13 11:20:00.268
!MESSAGE Bundle org.eclipse.equinox.simpleconfigurator_1.0.301.dist [1] was not resolved.
!SUBENTRY 2 org.eclipse.equinox.simpleconfigurator 2 0 2017-11-13 11:20:00.268
!MESSAGE Missing required capability Require-Capability: osgi.ee; filter="(|(&(osgi.ee=CDC/Foundation)(version=1.1))(&(osgi.ee=JavaSE)(version=1.4)))".

!ENTRY org.eclipse.osgi 4 0 2017-11-13 11:20:00.281
!MESSAGE Application error
!STACK 1
java.lang.IllegalStateException: Unable to acquire application service. Ensure that the org.eclipse.core.runtime bundle is resolved and started (see config.ini).
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:74)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1414)

Odkryłem, że ten problem występuje, jeśli używam Java 9, ale nie, jeśli używam Java 8.

Jak mogę zainstalować Eclipse na moim komputerze, aby uruchomić Javę 9?


Upewnij się, że JDK jest zainstalowany w twoim systemie przed instalacją Eclipse.
g_p

Zainstalowałem Java: java version "9.0.1" Java(TM) SE Runtime Environment (build 9.0.1+11) Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)idefault-jdk 2:1.8-59ubuntu1
Jaakko Seppälä

sprawdź ten post
g_p

Jakie wydanie Eclipse? Potrzebujesz wersji Oxygen.1a (4.7.1a) dla Java 9.
greg-449,

1
Miałem ten sam problem z Eclipse neon i openjdk 9, ten zadziałał.
g_p

Odpowiedzi:


1

Ubuntu 18.04 i nowsze wersje

Pakiet Snap Eclipse z domyślnych repozytoriów Ubuntu jest idealny do programowania Java, ponieważ jest dołączony do środowiska programistycznego Java. Aby zainstalować, otwórz terminal i wpisz:

sudo snap install eclipse --classic  

To polecenie zainstaluje najnowszą wersję Eclipse IDE Photon Release 4.8 dla programistów Java, która została zaktualizowana 8 dni temu. Eclipse Photon JDT obsługuje Javę 9 całkowicie:

  • Kompilator Eclipse dla Java (ECJ) implementuje wszystkie nowe rozszerzenia języka Java 9.
  • Zaktualizowano istotne funkcje do obsługi modułów Java, takie jak kompilator, wyszukiwanie i wiele funkcji edytora.

Uwaga: Aby dodać nową wersję Java do Eclipse w 18.04 i późniejszych wersjach, na przykład openjdk-11-jdk, postępuj zgodnie z instrukcjami wymienionymi powyżej w krokach 1-9, zamień tylko ciąg java-9-openjdkna wersję Java, do której chcesz dodać Zainstalowane środowiska JRE .


Ubuntu 17.10

Zainstalowałem Eclipse Oxygen (najnowszą wersję Eclipse) i openjdk-9-jdk, a Eclipse współpracuje z openjdk-9-jdk w tej wersji. Jeśli chcesz zachować openjdk-8-jdk jako domyślną wersję Java do użycia w nowym Eclipse Oxygen, możesz otworzyć Eclipse i dodać openjdk-9-jdk z Eclipse w następujący sposób.

  1. Wybierz Okno -> Preferencje

  2. W okienku po prawej stronie okna Preferencje kliknij czarny trójkąt po lewej stronie Java, aby go rozwinąć.

  3. Kliknij dwukrotnie Zainstalowane środowiska JRE .

  4. Kliknij Dodaj po lewej stronie okna preferencji, aby dodać nowe środowisko JRE.

  5. Wybierz Standardową maszynę wirtualną i kliknij Dalej .

  6. W polu JRE Home: typ pola /usr/lib/jvm/java-9-openjdk-amd64(lub i386 zamiast amd64 dla 32-bitowego środowiska Eclipse)

  7. W polu Nazwa JRE: typ pola java-9-openjdk-amd64(lub i386 zamiast amd64 dla 32-bitowego środowiska Eclipse)

  8. Kliknij przycisk Zastosuj .

  9. Teraz w Zainstalowanych środowiskach JRE w kroku 3. możesz kliknąć pole wyboru po lewej stronie środowiska JRE na liście zainstalowanych środowisk JRE, aby wybrać je jako domyślne, a następnie kliknąć przycisk Zastosuj , aby zastosować zmianę w domyślnym zainstalowanym środowisku JRE.

Te same instrukcje nie działają dla domyślnej wersji Eclipse w Ubuntu 16.04.


2
  1. Musisz zainstalować openjdk-8-jre:

    sudo apt-get install openjdk-8-jre
    
  2. Następnie przejdź do wersji Jre-8:

    $ sudo update-alternatives --config java
    There are 2 choices for the alternative java (providing /usr/bin/java).
    
    Selection    Path                                            Priority   Status
    
    * 0            /usr/lib/jvm/java-9-openjdk-amd64/bin/java       1091      auto mode
      1            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
      2            /usr/lib/jvm/java-9-openjdk-amd64/bin/java       1091      manual mode
    
  3. sprawdź wersję Java:

    $ java -version
    openjdk version "1.8.0_151"
    OpenJDK Runtime Environment (build 1.8.0_151-8u151-b12-0ubuntu0.17.10.2-b12)
    OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)
    
  4. rozpocząć zaćmienie


1
ten zadziałał dla mnie
Satya Arjunan
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.