web-dev-qa-db-ja.com

OpenJDK 9でEclipseを修正する方法

Ubuntu 17.10にOpenJDK 9をインストールしました。 Javaでの開発を開始したかったので、Java_HOME変数をセットアップし、インターネットで見つけたものをいくつか実行しました。 Javaプログラムをコンパイルして実行することはできますが、IDEをインストールすることはできません。これは本当に必要です。

エラーメッセージは次のとおりです。

エラーが発生しました。ログファイル/home/erik/.Eclipse/org.Eclipse.platform_3.8_155965261/configuration/1531145712071.logを参照してください。

ログファイルには以下が含まれます。

!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

デフォルトのUbuntuリポジトリからのEclipseスナップパッケージは、Java開発環境にバンドルされているため、Javaプログラミングに最適です。それをインストールするには、ターミナルを開いて次を入力します:

Sudo snap install Eclipse --classic  

このコマンドは、8日前に更新されたIDE DevelopersのEclipse Javaの最新のPhotonリリース4.8バージョンをインストールします。 Eclipse Photon JDTはJava 9を完全にサポートしています。

  • Java(ECJ)のEclipseコンパイラは、すべての新しいJava 9言語拡張機能を実装しています。
  • コンパイラ、検索、多くのエディター機能など、Javaモジュールをサポートするために重要な機能を更新しました。
3
karel

私は常にUbuntuディストリビューションのパッケージを好みますが、Eclipseの例外は(a)インストールが簡単で、(b)ユーザーとしてインストールする必要があり(ルートが不要または推奨されない)、(c)独自に管理するためです更新とプラグイン-ロールバックなどを含む.

以下の手順は、すべてのEclipse IDE(Java、C/C++、Web、PHPなど)で機能します。

  1. JDKをインストールする

    Sudo apt install default-jdk
    
  2. Eclipse.org から最新のEclipseインストーラーをダウンロードします。現在、これは Eclipse Photon です。

  3. 選択したディレクトリに解凍します

    mkdir -p ~/Eclipse/installer
    tar -C ~/Eclipse/installer -xzf ~/Downloads/Eclipse-inst-linux64.tar.gz
    
  4. インストーラーを実行する

    cd ~/Eclipse/installer
    ./Eclipse-inst
    
  5. IDEを選択して、プロンプトに従います

完了したら、IDEをインストールしたディレクトリの下のEclipseディレクトリにあるEclipseスクリプトを使用して、IDEを起動します。

Eclipse IDEをuninstallするには、単にそのインストールディレクトリをrm -rします。クルフ汚染に執着しているなら、rm -rf ~/.Eclipseも。

0
zwets