web-dev-qa-db-fra.com

Comment réparer Eclipse avec OpenJDK 9

J'ai installé OpenJDK 9 dans Ubuntu 17.10. Je voulais commencer à développer en Java, et j'ai paramétré la variable Java_HOME et fait des choses que j'ai trouvées sur Internet. Je peux compiler un programme Java et l'exécuter, mais je ne peux pas installer d'IDE, ce qui serait vraiment nécessaire.

Le message d'erreur est:

Une erreur est survenue. Consultez le fichier journal /home/erik/.Eclipse/org.Eclipse.platform_3.8_155965261/configuration/1531145712071.log.

Le fichier journal contient:

!SESSION 2018-07-09 16:15:11.911 -----------------------------------------------
Eclipse.buildId=debbuild
Java.version=9-Ubuntu
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 2018-07-09 16:15:12.423
!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 2018-07-09 16:15:12.429
!MESSAGE Bundle initial@reference:file:plugins/org.Eclipse.equinox.simpleconfigurator_1.0.301.dist.jar was not resolved.

!ENTRY org.Eclipse.osgi 2 0 2018-07-09 16:15:12.435
!MESSAGE One or more bundles are not resolved because the following root constraints are not resolved:
!SUBENTRY 1 org.Eclipse.osgi 2 0 2018-07-09 16:15:12.435
!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 2018-07-09 16:15:12.435
!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 2018-07-09 16:15:12.436
!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 2018-07-09 16:15:12.436
!MESSAGE Bundle org.Eclipse.equinox.simpleconfigurator_1.0.301.dist [1] was not resolved.
!SUBENTRY 2 org.Eclipse.equinox.simpleconfigurator 2 0 2018-07-09 16:15:12.436
!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 2018-07-09 16:15:12.437
!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)
1
Gameerik

Le package de capture Eclipse des référentiels Ubuntu par défaut est idéal pour la programmation Java car il est fourni avec un environnement de développement Java. Pour l'installer ouvrez le terminal et tapez:

Sudo snap install Eclipse --classic  

Cette commande installera la dernière version de Eclipse IDE pour Java de Photon version 4.8 mise à jour il y a 8 jours. Eclipse Photon JDT supporte complètement Java 9:

  • Le compilateur Eclipse pour Java (ECJ) implémente toutes les nouvelles améliorations du langage Java 9.
  • Mise à jour des fonctionnalités importantes pour la prise en charge de Java modules, tels que le compilateur, la recherche et de nombreuses fonctionnalités de l'éditeur.
3
karel

Bien que je préfère toujours les paquets de la distribution Ubuntu, je fais une exception pour Eclipse car son installation est aisée, elle doit être installée en tant qu'utilisateur (aucune racine requise ou recommandée), et elle gère sa propre mises à jour et plugins très bien - y compris les annulations, etc.

Les instructions ci-dessous fonctionnent pour tous les IDE Eclipse (Java, C/C++, Web, PHP, etc.).

  1. Installer le JDK

    Sudo apt install default-jdk
    
  2. Téléchargez le dernier programme d'installation Eclipse à partir de Eclipse.org . Actuellement, c'est Eclipse Photon .

  3. Déballez-le dans un répertoire de votre choix

    mkdir -p ~/Eclipse/installer
    tar -C ~/Eclipse/installer -xzf ~/Downloads/Eclipse-inst-linux64.tar.gz
    
  4. Lancer l'installateur

    cd ~/Eclipse/installer
    ./Eclipse-inst
    
  5. Choisissez votre IDE et suivez les instructions

Une fois terminé, démarrez votre IDE avec le script Eclipse dans le répertoire Eclipse sous l'emplacement d'installation de l'EDI.

Pour désinstaller tout IDE Eclipse, il vous suffit de rm -r son répertoire d'installation. Si vous êtes obsédé par la pollution par kruft, alors aussi rm -rf ~/.Eclipse.

0
zwets