当前位置: 首页 > 知识库问答 >
问题:

在Windows 10上使用OpenJDK 11启动Eclipse时出现问题

唐裕
2023-03-14

我在这里下载了面向Java EE Developers的Eclipse IDE:https://www.eclipse.org/downloads/packages/release/oxygen/2/eclipse-ide-java-ee-developers

我在这里下载了OpenJDK版本11:http://jdk.java.net/11/ < br >我将环境变量java_HOME设置为JAVA目录和JAVA可执行文件的路径。

在这两种情况下,我都下载了64位Windows版本。
我的操作系统是Windows 10。

当我启动eclipse.exe时,出现以下错误信息

我的eclipse.ini:

-startup
plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.551.v20171108-1834
-product
org.eclipse.epp.package.jee.product
-showsplash
org.eclipse.epp.package.common
--launcher.defaultAction
openFile
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vm
C:\Program Files\Java\bin\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.8
-Dosgi.instance.area.default=@user.home/eclipse-workspace
-XX:MaxPermSize=256m
-XX:+UseG1GC
-XX:+UseStringDeduplication
--add-modules=ALL-SYSTEM
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx1024m
--add-modules=ALL-SYSTEM

我从。日志文件:

!SESSION 2019-01-11 19:00:25.148 -----------------------------------------------
eclipse.buildId=4.7.2.M20171130-0510
java.version=11.0.1
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
Framework arguments:  -product org.eclipse.epp.package.jee.product
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product

!ENTRY org.eclipse.osgi 4 0 2019-01-11 19:00:28.468
!MESSAGE Application error
!STACK 1
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)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultHeadlessContext(E4Application.java:491)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultContext(E4Application.java:505)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:204)
    at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:614)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:151)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
    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:566)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1499)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1472)
Caused by: java.lang.NoClassDefFoundError: javax/annotation/PostConstruct
    at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:124)
    at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:399)
    ... 23 more
Caused by: java.lang.ClassNotFoundException: javax.annotation.PostConstruct cannot be found by org.eclipse.e4.core.di_1.6.100.v20170421-1418
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:433)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 25 more

!ENTRY org.eclipse.e4.ui.workbench 4 0 2019-01-11 19:00:28.528
!MESSAGE FrameworkEvent ERROR
!STACK 0
java.lang.NoClassDefFoundError: javax/annotation/PreDestroy
    at org.eclipse.e4.core.internal.di.InjectorImpl.disposed(InjectorImpl.java:450)
    at org.eclipse.e4.core.internal.di.Requestor.disposed(Requestor.java:156)
    at org.eclipse.e4.core.internal.contexts.ContextObjectSupplier$ContextInjectionListener.update(ContextObjectSupplier.java:78)
    at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(TrackableComputationExt.java:111)
    at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.handleInvalid(TrackableComputationExt.java:74)
    at org.eclipse.e4.core.internal.contexts.EclipseContext.dispose(EclipseContext.java:178)
    at org.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.dispose(EclipseContextOSGi.java:99)
    at org.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.bundleChanged(EclipseContextOSGi.java:141)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:908)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
    at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:213)
    at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:120)
    at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:112)
    at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:168)
    at org.eclipse.osgi.container.Module.publishEvent(Module.java:476)
    at org.eclipse.osgi.container.Module.doStop(Module.java:634)
    at org.eclipse.osgi.container.Module.stop(Module.java:498)
    at org.eclipse.osgi.container.SystemModule.stop(SystemModule.java:202)
    at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule$1.run(EquinoxBundle.java:165)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.ClassNotFoundException: javax.annotation.PreDestroy cannot be found by org.eclipse.e4.core.di_1.6.100.v20170421-1418
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:433)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 21 more

我该如何解决这个问题?

提前感谢

共有2个答案

太叔超英
2023-03-14

使用“eclipse.exe位置”-vm“javaw.exe”创建快捷方式并运行它。ex:“C:\Program Files\Workspace\eclipse\eclipse.exe”-vm“C:\Program Files \Microsoft\jdk-11.0.11.9-hotspot\bin\javaw.exe”

李浩邈
2023-03-14

您使用的是 Eclipse 4.7 (2017-11-30),但 Eclipse 4.9 中引入了 JDK 11 支持(2018-09,请参阅 Eclipse marketpace:Java 11 对 Eclipse 的支持 2018-09 (4.9))。要么更新 Eclipse,要么降级 Java。您当前的设置很可能不受支持,因为您的 Eclipse 版本是在 Java 11 之前一年发布的。

 类似资料:
  • 我安装了Java 7: ➜ ~ java-版本java版本“1.7.0_76”java(TM)SE运行时环境(构建1.7.0_76-b13)java热点(TM)64位服务器虚拟机(构建24.76-b04,混合模式)➜ ~ 我下载了Eclipse4.3,启动时收到错误信息,表示需要: 要打开“Eclipse”,您需要安装遗留的JavaSE6运行时”。 除了安装JavaSE7运行时,我还需要安装Jav

  • 问题内容: 我已经安装并设置了Eclipse和插件ADT,以便与Android SDK一起使用。到目前为止,一切都很好。但是,当我尝试为我选择的任何android平台(例如android 3.2)启动VM(虚拟机)时,我只是将皮肤与键盘控制台和电话按钮一起启动,它似乎可以启动并进入然后什么也没做,只在vm主屏幕上显示android徽标,这就是它的全部操作- 没有了,没有VM功能!,这是怎么回事?我

  • 所以我使用IntelliJ,并使用JavaFX构建了我的应用程序。但当我开始我的主要工作时: 我得到以下错误,我不知道这些错误来自哪里。。。在我切换github上的分支并重新设置所有配置之前,一切都很正常。。。 我得到的错误:

  • 上周,我已经很好地安装了我的nginx服务器,直到我注意到我收到了针对它的DOSS攻击。然后我注意到此时我的Nginx服务器无法启动。我尝试了所有其他方法,除了阅读没有帮助的文档之外,我不确定如何解决这个问题。 关于Nginx的文档 主nginx。conf似乎为空,由于某种原因,我无法保存到它。 root@ubuntu-vpc-do-moon:~# /etc/init.d/nginx状态●ngin

  • 在Firefox 51.0.1上使用Selenium 3.0.1打开Firefox浏览器的URL时,我遇到了问题 环境: 我收到以下例外: 组织。openqa。硒。火狐。NotConnectedException:45000毫秒后无法连接到端口7055上的主机127.0.0.1。Firefox控制台输出:“错误。还附加了快照。”。 这是我的代码: 非常感谢。