Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 362|回复: 0

解决方案:升级JDK9后eclipse无法启动

[复制链接]
  • TA的每日心情
    奋斗
    2024-11-24 15:47
  • 签到天数: 804 天

    [LV.10]以坛为家III

    2053

    主题

    2111

    帖子

    72万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    726782
    发表于 2021-5-2 13:59:36 | 显示全部楼层 |阅读模式

    安装JDK9之后,eclipse无法识别javax/annotation/PostConstruct

    错误日志workspace/.metadata/.log

      1 !SESSION 2017-10-05 20:04:50.292 -----------------------------------------------
      2 eclipse.buildId=4.7.1.v20170915-1447
      3 java.version=9
      4 java.vendor=Oracle Corporation
      5 BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
      6 Command-line arguments:  -os linux -ws gtk -arch x86_64
      7 
      8 !ENTRY org.eclipse.osgi 4 0 2017-10-05 20:05:25.646
      9 !MESSAGE Application error
     10 !STACK 1
     11 org.eclipse.e4.core.di.InjectionException: java.lang.NoClassDefFoundError: javax/annotation/PostConstruct
     12     at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:410)
     13     at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:318)
     14     at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162)
     15     at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultHeadlessContext(E4Application.java:491)
     16     at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultContext(E4Application.java:505)
     17     at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:204)
     18     at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:614)
     19     at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
     20     at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594)
     21     at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
     22     at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:151)
     23     at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
     24     at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
     25     at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
     26     at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
     27     at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
     28     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     29     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
     30     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     31     at java.base/java.lang.reflect.Method.invoke(Method.java:564)
     32     at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
     33     at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
     34     at org.eclipse.equinox.launcher.Main.run(Main.java:1499)
     35     at org.eclipse.equinox.launcher.Main.main(Main.java:1472)
     36 Caused by: java.lang.NoClassDefFoundError: javax/annotation/PostConstruct
     37     at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:124)
     38     at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:399)
     39     ... 23 more
     40 Caused by: java.lang.ClassNotFoundException: javax.annotation.PostConstruct cannot be found by org.eclipse.e4.core.di_1.6.100.v20170915-1447
     41     at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:433)
     42     at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)
     43     at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)
     44     at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
     45     at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
     46     ... 25 more
     47 
     48 !ENTRY org.eclipse.e4.ui.workbench 4 0 2017-10-05 20:05:25.659
     49 !MESSAGE FrameworkEvent ERROR
     50 !STACK 0
     51 java.lang.NoClassDefFoundError: javax/annotation/PreDestroy
     52     at org.eclipse.e4.core.internal.di.InjectorImpl.disposed(InjectorImpl.java:450)
     53     at org.eclipse.e4.core.internal.di.Requestor.disposed(Requestor.java:156)
     54     at org.eclipse.e4.core.internal.contexts.ContextObjectSupplier$ContextInjectionListener.update(ContextObjectSupplier.java:78)
     55     at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(TrackableComputationExt.java:111)
     56     at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.handleInvalid(TrackableComputationExt.java:74)
     57     at org.eclipse.e4.core.internal.contexts.EclipseContext.dispose(EclipseContext.java:178)
     58     at org.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.dispose(EclipseContextOSGi.java:99)
     59     at org.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.bundleChanged(EclipseContextOSGi.java:141)
     60     at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:908)
     61     at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
     62     at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
     63     at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:213)
     64     at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:120)
     65     at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:112)
     66     at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:168)
     67     at org.eclipse.osgi.container.Module.publishEvent(Module.java:476)
     68     at org.eclipse.osgi.container.Module.doStop(Module.java:634)
     69     at org.eclipse.osgi.container.Module.stop(Module.java:498)
     70     at org.eclipse.osgi.container.SystemModule.stop(SystemModule.java:202)
     71     at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule$1.run(EquinoxBundle.java:165)
     72     at java.base/java.lang.Thread.run(Thread.java:844)
     73 Caused by: java.lang.ClassNotFoundException: javax.annotation.PreDestroy cannot be found by org.eclipse.e4.core.di_1.6.100.v20170915-1447
     74     at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:433)
     75     at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)
     76     at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)
     77     at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
     78     at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
     79     ... 21 more
     80 !SESSION 2017-10-05 20:06:57.610 -----------------------------------------------
     81 eclipse.buildId=4.7.1.v20170915-1447
     82 java.version=9
     83 java.vendor=Oracle Corporation
     84 BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
     85 Command-line arguments:  -os linux -ws gtk -arch x86_64
     86 
     87 !ENTRY org.eclipse.osgi 4 0 2017-10-05 20:07:04.796
     88 !MESSAGE Application error
     89 !STACK 1
     90 org.eclipse.e4.core.di.InjectionException: java.lang.NoClassDefFoundError: javax/annotation/PostConstruct
     91     at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:410)
     92     at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:318)
     93     at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162)
     94     at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultHeadlessContext(E4Application.java:491)
     95     at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultContext(E4Application.java:505)
     96     at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:204)
     97     at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:614)
     98     at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
     99     at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594)
    100     at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
    101     at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:151)
    102     at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    103     at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
    104     at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    105     at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
    106     at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
    107     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    108     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    109     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    110     at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    111     at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
    112     at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
    113     at org.eclipse.equinox.launcher.Main.run(Main.java:1499)
    114     at org.eclipse.equinox.launcher.Main.main(Main.java:1472)
    115 Caused by: java.lang.NoClassDefFoundError: javax/annotation/PostConstruct
    116     at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:124)
    117     at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:399)
    118     ... 23 more
    119 Caused by: java.lang.ClassNotFoundException: javax.annotation.PostConstruct cannot be found by org.eclipse.e4.core.di_1.6.100.v20170915-1447
    120     at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:433)
    121     at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)
    122     at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)
    123     at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
    124     at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
    125     ... 25 more
    126 
    127 !ENTRY org.eclipse.e4.ui.workbench 4 0 2017-10-05 20:07:04.803
    128 !MESSAGE FrameworkEvent ERROR
    129 !STACK 0
    130 java.lang.NoClassDefFoundError: javax/annotation/PreDestroy
    131     at org.eclipse.e4.core.internal.di.InjectorImpl.disposed(InjectorImpl.java:450)
    132     at org.eclipse.e4.core.internal.di.Requestor.disposed(Requestor.java:156)
    133     at org.eclipse.e4.core.internal.contexts.ContextObjectSupplier$ContextInjectionListener.update(ContextObjectSupplier.java:78)
    134     at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(TrackableComputationExt.java:111)
    135     at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.handleInvalid(TrackableComputationExt.java:74)
    136     at org.eclipse.e4.core.internal.contexts.EclipseContext.dispose(EclipseContext.java:178)
    137     at org.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.dispose(EclipseContextOSGi.java:99)
    138     at org.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.bundleChanged(EclipseContextOSGi.java:141)
    139     at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:908)
    140     at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    141     at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
    142     at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:213)
    143     at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:120)
    144     at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:112)
    145     at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:168)
    146     at org.eclipse.osgi.container.Module.publishEvent(Module.java:476)
    147     at org.eclipse.osgi.container.Module.doStop(Module.java:634)
    148     at org.eclipse.osgi.container.Module.stop(Module.java:498)
    149     at org.eclipse.osgi.container.SystemModule.stop(SystemModule.java:202)
    150     at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule$1.run(EquinoxBundle.java:165)
    151     at java.base/java.lang.Thread.run(Thread.java:844)
    152 Caused by: java.lang.ClassNotFoundException: javax.annotation.PreDestroy cannot be found by org.eclipse.e4.core.di_1.6.100.v20170915-1447
    153     at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:433)
    154     at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)
    155     at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)
    156     at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
    157     at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
    158     ... 21 more

    解决方法:

      在eclipse的启动的配置文件eclipse.ini文件末尾添加一行:

    --add-modules=ALL-SYSTEM

      注:1.linux下配置文件一般在  /etc/eclipse.ini

        2.普通用户对配置文件只有read only权限,需su

     

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2025-2-4 04:51 , Processed in 0.061801 second(s), 28 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表