LoginSignup
6
6

More than 5 years have passed since last update.

JDKをバージョンアップしたらeclipse起動時エラー

Last updated at Posted at 2019-01-18

JDKを8から11にバージョンアップした

  • Oracle JDK8をアンインストール
  • OpenJDK11をインストール(環境変数PATHにbinフォルダを設定)
  • OpenJDK8をインストール(環境変数PATHには含めない)

そして今までのeclipseを起動したらエラーが出た。

workspace\.metadata\.log
org.eclipse.e4.core.di.InjectionException: java.lang.NoClassDefFoundError: javax/annotation/PostConstruct
    at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:410)
    at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:318)
    at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162)

JDK11に対応していないことが原因なので、JDK8で動かす必要がある。
でも新しいeclipseはJDK11で動かしたいので、環境変数PATHは変えたくない。

eclipse起動に使うjavaw.exeを指定する

通常はPATHが通っているjavaw.exeが使われる。
eclipse毎に明示的に使用するjavaw.exeを指定すればよい。
eclipse.exe と同じ場所にある eclipse.ini に追記することで明示的に指定する。
1. eclipseが起動している場合は落とす
2. eclipse.ini をテキストエディタで開く
3. -vmargs の前の行に次のような -vm の2行を追記する

eclipse.ini

-vm
C:\(JDK8のパス)\bin\javaw.exe
-vmargs

eclipseを起動

正常に起動した(^o^)

Spring Tool Suiteなど、eclipseベースのツールであれば、iniファイル名が異なるだけで同じ対応で解決します。

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6