新下载的绿色版eclipse 启动eclipse.exe时会报错,因为eclipse启动依赖java环境,如果没有配置相应的java环境就会启动失败,如下:
org.osgi.framework.BundleException: Could not resolve module: org.eclipse.wst.common.uriresolver
!SESSION 2020-12-29 15:02:33.937 -----------------------------------------------
eclipse.buildId=4.5.1.M20150904-0015
java.version=15
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN
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
This is a continuation of log file D:\Program Files (x86)\eclipse\configuration\1609225354264.bak_0.log
Created Time: 2020-12-29 15:02:36.542
!ENTRY org.eclipse.wst.common.uriresolver 4 0 2020-12-29 15:02:36.542
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: Could not resolve module: org.eclipse.wst.common.uriresolver [805]
Unresolved requirement: Require-Bundle: org.eclipse.core.runtime; bundle-version="[3.4.0,4.0.0)"
-> Bundle-SymbolicName: org.eclipse.core.runtime; bundle-version="3.11.1.v20150903-1804"; singleton:="true"
org.eclipse.core.runtime [104]
Unresolved requirement: Require-Bundle: org.eclipse.core.jobs; bundle-version="[3.2.0,4.0.0)"; visibility:="reexport"
-> Bundle-SymbolicName: org.eclipse.core.jobs; bundle-version="3.7.0.v20150330-2103"; singleton:="true"
org.eclipse.core.jobs [99]
Unresolved requirement: Require-Capability: osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=1.7))"
at org.eclipse.osgi.container.Module.start(Module.java:434)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1582)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1561)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1533)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1476)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.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)
解决办法:
windows下:
打开{eclipse目录}/eclipse.ini
在-vmargs前配置-vm即可,如下:
改变前:
-startup
plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.300.v20150602-1417
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.7
-Xms256m
-Xmx1024m
改变后:
-startup
plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.300.v20150602-1417
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vm
C:\Program Files\java\jdk-8u181-windows-x64\bin\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.7
-Xms256m
-Xmx1024m
添加的内容为(jdk路径填写自己的):
-vm
C:\Program Files\java\jdk-8u181-windows-x64\bin\javaw.exe
注意: 1. -vm和jdk路径一定分2行. 2. 配置jdk路径和jre路径皆可,但最后的文件一定是javaw.exe, 如果按照有部分文章所说配置成末尾只有java 像酱紫的 {jdk路径}\bin\java , 那么启动eclipse会同时出现一个cmd窗口, 你肯定和我一样不想看到它(如下图)...