使用从 Windows 批处理文件配置的 JVM 启动 Eclipse
Posted
技术标签:
【中文标题】使用从 Windows 批处理文件配置的 JVM 启动 Eclipse【英文标题】:Starting eclipse with configured JVM from windows batch file 【发布时间】:2021-06-08 14:16:14 【问题描述】:我在从 Windows 批处理文件中使用正确配置的 JVM 启动 Eclipse 时遇到问题。 我喜欢这样做,因为我有不同的工作区,不同的eclipse版本,不同的java版本和不同的配置。
我想问题是我传递参数的方式。我尝试了几种设置 '"' 的组合,但都没有奏效。下面只是一个示例。
无论如何,有人可以帮忙吗? 谢谢:-)
后来补充: 抱歉,我忘记了 - 问题是 JVM 的参数被忽略了
@echo off
ver
echo.
set thePathToJDK=C:\Program Files\AdoptOpenJDK\jdk-11.0.10x9-hotspot
rem to be checked - is JAVA_HOME needed by anyone ?
rem eclipse states that is neglecting JAVA_HOME
set JAVA_HOME=%thePathToJDK%
rem set path to vm ( shall be in harmony with path to JDK )
set thePathToJVM=%thePathToJDK%\bin\javaw
set thePathToEclipse=C:\eclipse\ ...
set thePathToEclipseWorkSpace=C:\ ...
rem set minimal path (for ECLIPSE/JAVA)
set theNewPath=%SystemRoot%\system32
set theNewPath=%theNewPath%;%SystemRoot%
set theNewPath=%theNewPath%;%SystemRoot%\System32\Wbem
set theNewPath=%theNewPath%;%SystemRoot%\System32\WindowsPowerShell\v1.0\
set path=%thePathToJDK%\bin;%theNewPath%
echo.
echo path used for ECLIPSE
echo %path%
set theCommand=%thePathToEclipse%\eclipse.exe -data "%thePathToEclipseWorkSpace%" -vm "%thePathToJVM%" -vmargs -ea -Xmx4096m -Xss256m
echo.
echo %theCommand%
rem start eclipse with preconfigured Java
cmd /c %theCommand%
pause
【问题讨论】:
您还没有提出问题。当你运行脚本时,发生了什么?它做了什么,没有做什么? 用于运行 Eclipse 的 Java 与用于在 Eclipse 中编译和运行程序的 Java 无关。您不需要更改 Eclipse Java。 @cliff2310 抱歉,复制粘贴错误,丢失了 @greg-449 Uuups,使用 -vmargs 我将 java 配置为运行 eclipse?这是/不是我的目的。我想配置 Java 以在 Eclipse 中编译和运行程序。但它解释了参数的“忽略”。 所有这些参数只会改变 Eclipse 本身使用的 Java。它们与编译和运行项目的设置无关 - 这些不能从命令行设置。 Eclipse 始终使用项目属性中的设置使用自己的 Java 编译器(而不是 JDK 编译器)。如果你想从批处理文件中编译东西,你应该使用maven 【参考方案1】:正如@greg-449 所指出的,“参数”只会改变 Eclipse 本身使用的 Java。 我想要的不能按照我想要的方式完成 :-(
【讨论】:
【参考方案2】:在 Windows 上,当您将 -vm
用于文件而不是文件夹时,您需要在 VM 的文件名中包含 .exe
部分。
【讨论】:
以上是关于使用从 Windows 批处理文件配置的 JVM 启动 Eclipse的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Windows 中使用单独的 JVM 配置多个 Tomcat 实例
使用VisualVM远程监控JVM Linux服务器配置方法
Idea 配置启动JDK___在windows中使用Intellij Idea时选择自定义的64位JVM