Um problema ao instalar o Eclipse com o Java 9 para o Ubuntu

2

Eu tenho o Xubuntu 17.10. Eu tentei instalar o Eclipse via apt-get. Quando tentei executá-lo, recebi um erro

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

O arquivo de log é o seguinte:

!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)

Descobri que este problema ocorre se eu usar o Java 9, mas não se eu usar o Java 8.

Como posso instalar o Eclipse no meu computador para executar o Java 9?

    
por Jaakko Seppälä 13.11.2017 / 10:26

2 respostas

1

Eu instalei o Eclipse Oxygen (a última versão do Eclipse) e o openjdk-9-jdk e o Eclipse está trabalhando com o openjdk-9-jdk nesta versão. Se você quiser manter o openjdk-8-jdk como a versão padrão do Java para usar em seu novo Eclipse Oxygen, você pode abrir o Eclipse e adicionar o openjdk-9-jdk dentro do Eclipse da seguinte forma.

  1. Selecione Janela - > Preferências

  2. No painel à direita da janela Preferências, clique no triângulo preto à esquerda de Java para desdobrá-lo.

  3. Clique duas vezes em JREs instalados .

  4. Clique no Adicionar no lado esquerdo da janela de preferências para adicionar um novo JRE.

  5. Selecione VM padrão e clique em Próximo .

  6. No campo Início do JRE: digite /usr/lib/jvm/java-9-openjdk-amd64 (ou i386 em vez de amd64 para o Eclipse de 32 bits)

  7. No campo Nome do JRE: digite java-9-openjdk-amd64 (ou i386 em vez de amd64 para o Eclipse de 32 bits)

  8. Clique no botão Aplicar .

  9. Agora em JREs instalados na Etapa 3. você pode clicar na caixa de seleção à esquerda de um JRE na lista de JREs instalados para selecioná-lo como padrão e clicar no Aplicar botão para aplicar a alteração no JRE instalado padrão.

As mesmas instruções não funcionam para a versão padrão do Eclipse no Ubuntu 16.04.

Ubuntu 18.04 e posterior

O pacote snap do Eclipse dos repositórios padrão do Ubuntu é perfeito para a programação Java porque é empacotado com um ambiente de desenvolvimento Java. Para instalá-lo, abra o terminal e digite:

sudo snap install eclipse --classic  

Este comando instalará a versão mais recente do Photon Release 4.8 do Eclipse IDE para desenvolvedores Java, que foi atualizada há 8 dias. O Eclipse Photon JDT suporta completamente o Java 9:

  • O compilador Eclipse para Java (ECJ) implementa todos os novos aprimoramentos da linguagem Java 9.
  • Recursos significativos atualizados para suportar módulos Java, como compilador, pesquisa e muitos recursos de editor.

Nota: Para adicionar uma nova versão do Java ao Eclipse em 18.04 e posterior, por exemplo openjdk-11-jdk, siga as instruções listadas acima nas etapas 1-9, substitua apenas a string java-9-openjdk pela versão java que você deseja adicionar para JREs instalados .

    
por karel 23.12.2017 / 14:27
2
  1. Você precisa instalar o openjdk-8-jre :

    sudo apt-get install openjdk-8-jre
    
  2. Em seguida, alterne para a versão do 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. verifique a versão 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. inicie o eclipse

por Airforce1 23.12.2017 / 12:16