当路径包含空格时,如何在Windows 8上的eclipse.ini中指定jdk路径

use*_*291 58 java eclipse

这不起作用-vm%JAVA_HOME%/ bin/javaw.exe

当路径包含空格时,如何用Windows 8上的完整路径替换%JAVA_HOME%("程序文件"目录)

Bra*_*raj 143

你试过吗?不要把所有东西都放在一条线上.

-vm
C:\Program Files\Java\jdk1.6.0_07\bin\
Run Code Online (Sandbox Code Playgroud)

需要放置包含javaw或java可执行文件的文件夹.在带有eclipse 4.7.1的Ubuntu 18下,我能够运行:

-vm
/usr/lib/jvm/java-8-openjdk-amd64/bin
-startup
plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.500.v20170531-1133
-vmargs
-Xmx2G
-Xms200m
-XX:MaxPermSize=384m
Run Code Online (Sandbox Code Playgroud)

如果不工作,那么请确认您在上面行之前加-vmargseclipse.ini.

  • 我知道这个话题很老,但是我遇到了同样的问题,其中没有提到这里提到的解决方案 - 但我*DID*最终解决了它.首先,请注意使用Windows环境变量"JAVA_HOME"是首选方法,但-vm也可以.原因/解决方案是:我使用的是Eclipse 64位版本,但指向32位JRE - 在安装之后,然后指向64位JRE,一切运行良好.以为我会分享这个. (6认同)
  • 在 eclipse.ini 中使用正斜杠,在这种情况下(即使在 Windows 上)您不必转义路径,即 C:/Program Files/Java/jdk1.6.0_07/bin (2认同)

Sre*_* GS 44

在vm args上方添加vm的条目,否则它将无法工作..!即`

    -vm
    C:\Program Files\Java\jdk1.7.0_75\bin\javaw.exe
    --launcher.appendVmargs
    -vmargs
    -Dosgi.requiredJavaVersion=1.6
    -Xms40m
    -Xmx512m

  • @EnriqueSanMartín你错了,`-vm`不能在最后,它必须在`-vmargs`之前! (2认同)

TmT*_*ron 7

tl; dr

顶部您的eclipse.ini文件中添加-vm的路径到你的JDK选项bin目录下 ; 例如

-vm
C:\Program Files\Java\jdk1.8.0_161\bin\
Run Code Online (Sandbox Code Playgroud)

细节

笔记

  • 路径在-vm选项下方的新行中
  • 无需转义任何字符或使用斜杠(反斜杠就可以了)
  • 路径指向bin目录,而不是目录javaw.exe

陷阱JAVA_HOME

当您在eclipse.ini文件中未指定虚拟机时,您可能会认为使用了JAVA_HOME环境变量,但事实并非如此!
来自FAQ_How_do_I_run_Eclipse#Find_the_JVM

Eclipse不会查询JAVA_HOME环境变量。

而是将扫描Windows搜索路径。

建议
您可能会认为使用搜索路径是个好主意,因为它很灵活。
尽管这是事实,但它也有一个缺点,即可以通过安装或更新程序来更改搜索路径。
因此,我建议在eclipse.ini文件中使用显式设置。

查找虚拟机

之所以应指定bin目录而不是目录javaw.exe(由许多其他答案所建议),是因为启动器可以动态选择哪种方式是启动JVM的最佳方法。有关所有详细信息,请参阅启动程序的详细信息:

我们在该目录中查找:(1)default.ee文件,(2)Java启动器或(3)jvm共享库。

验证

您可以在“ 配置”对话框中验证正在运行的Eclipse实例使用的是哪个VM 。
在Eclipse中的氧气进入帮助 - 关于Eclipse - 安装详细信息 - 配置

您将看到选择了哪个VM路径eclipse,例如:

eclipse.vm=C:\Program Files\Java\jdk1.8.0_161\bin\..\jre\bin\server\jvm.dll
Run Code Online (Sandbox Code Playgroud)

  • tl;dr 是完全不正确的。`-vm` 不应该**位于 `eclipse.ini` 文件的顶部。根据[本文档](https://wiki.eclipse.org/Eclipse.ini),“-vm 选项必须出现在其他 Eclipse 特定选项(例如 -product、--launcher.* 等)之后,但在 -vmargs 选项之前,因为 -vmargs 之后的所有内容都直接传递到 JVM。” 还必须指向可执行文件,而不是目录。 (2认同)

Kay*_*ayV 6

如果您使用的是mac,请继续执行以下步骤:

  1. 移至以下目录:

    /sts-bundle/STS.app/Contents/Eclipse
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在STS.ini文件中显式添加java home:

    -vm
    /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/bin
    -vmargs
    
    Run Code Online (Sandbox Code Playgroud)

确保不要在单行中添加所有语句


Abh*_*ukh 6

我遇到了同样的问题,但无法解决,直到我尝试这个:

  1. 请确保你放 -vm
  2. 然后按 Enter
  3. 然后粘贴 C:\Program Files\Java\jdk1.6.0_07\bin\javaw.exe