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

时间:2014-04-19 19:07:02

标签: java eclipse

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

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

15 个答案:

答案 0 :(得分:134)

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

-vm
C:\Program Files\Java\jdk1.6.0_07\bin\

需要放置包含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

如果它不起作用,请确认您在-vmargs eclipse.ini之前添加了上面的行。

答案 1 :(得分:41)

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

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

答案 2 :(得分:6)

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

  1. 转到以下目录:

    /sts-bundle/STS.app/Contents/Eclipse
    
  2. 在STS.ini文件中显式添加java home:

    -vm
    /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/bin
    -vmargs
    
  3. 确保不添加单行

    中的所有语句

答案 3 :(得分:6)

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

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

答案 4 :(得分:5)

TL;博士

ghci> :set -XTypeApplications ghci> :t (-) @Int (-) @Int :: Int -> Int -> Int 文件的顶部处添加eclipse.ini选项,其中包含JDK bin目录的路径;例如

-vm

详细

备注

  • 路径位于-vm C:\Program Files\Java\jdk1.8.0_161\bin\ 选项
  • 下方的新行
  • 无需转义任何字符或使用斜杠(反斜杠都可以)
  • 路径指向-vm目录,而不是bin

Gotcha JAVA_HOME

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

  

Eclipse不会参考JAVA_HOME环境变量。

而是扫描Windows搜索路径。

<强>建议
您可能认为使用搜索路径是个好主意,因为它很灵活 虽然这是事实,但它的缺点是可以通过安装或更新程序来改变搜索路径 因此,我建议使用JAVA_HOME文件中的显式设置。

查找VM

您应该指定eclipse.ini目录而不是bin(由许多其他答案提出)的原因是,启动程序可以动态选择哪个是启动JVM的最佳方式。有关所有详细信息,请参阅details of the launcher process

  

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

Verfication

您可以在配置对话框中验证正在运行的eclipse实例使用的VM 在eclipse Oxygen中转到帮助 - 关于Eclipse - 安装细节 - 配置

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

javaw.exe

答案 5 :(得分:3)

以上所有答案对我都没有用。我的Eclipse火星是x64但是我需要将注册表dll设置为x86以用于另一个软件。

最后我在快捷方式的末尾放了-vm参数,这就行了。

D:\mars\eclipse\eclipse.exe -vm "C:\Program Files\Java\jre7\bin\server\jvm.dll"

根据this doc jvm.dll也适用于某些情况。

答案 6 :(得分:2)

解决方案:How do I set the eclipse.ini -vm option?

-vm C:\\仓

 -vm
C:\<java_path>\bin

必须是eclipse.ini中的第一件事

答案 7 :(得分:2)

即使您的%JAVA_HOME%包含空格,也可以直接将整个字符串放在那里。

-vm
C:\Program Files (x86)\Java\jdk1.8.0_162\bin

另外,你不必在路径中指定javaw.exe,只要提到它就会在bin文件夹中找到它自己的javaw.exe。 请记住,您提供的jdk版本应与您正在使用的eclipse版本匹配。

如果您使用的是64位Java,那么请下载64位Eclipse。 如果您使用的是32位Java,那么请下载32位Eclipse。

答案 8 :(得分:1)

Windows-vm“C:\ Program Files \ Java \ jdk1.6.0_07 \ jre \ bin \ javaw.exe”

答案 9 :(得分:1)

我有Windows 8.1和我的JDK&#34; Program Files&#34;同样。对我有用的是用8位内部MS-DOS名称替换文件夹的名称。

-vm
C:/PROGRA~1/Java/jdk1.8.0_40/bin/javaw.exe

我意识到在cmd.exe中运行它之后发生了什么

CD \
DIR P* /X

它回来了......

<DIR>          PROGRA~1     Program Files
<DIR>          PROGRA~2     Program Files (x86)

因此我们可以找到如何使用包含空格的路径

答案 10 :(得分:0)

尝试用反斜杠逃离空间..比如

C:\ program \ folder \ \ name \ java \ jdk \ bin

答案 11 :(得分:0)

转到cmd中的C驱动器根目录 输入dir / x 这将使用〜.use列出目录名称,而不是jdk路径中的Program Files

答案 12 :(得分:0)

有时路径中的空格会产生问题。 您可以添加例如 -vm C:\progra~1\Java\jre1.8.0_112\bin\javaw.exe

答案 13 :(得分:-3)

-vm C:\ Program Files \ Java \ jdk1.6.0_07 \ bin \ javaw.exe

答案 14 :(得分:-8)

重新安装java并选择没有空格的目标文件夹