是否可以在 Eclipse 中设置项目范围的 VM 参数

Is it possible to set up project-wide VM arguments in Eclipse

我正在使用 Eclipse,我需要将一组 VM 参数传递给我的 运行 配置。我知道如何使用 "Run/Debug Settings" 单独完成。而且我知道如何使用 Window/Preferences/Java/Installed JRE 在系统范围内做到这一点。

我的问题是我有多个项目需要不同的 VM 参数。另外,在每个项目中,我有许多 类 到 运行,所以如果我使用 "Run/Debug Settings" 路线,复制 运行 配置会很乏味。当我必须进行此类更改时,更乏味的是更改所有这些配置中的各个值。

有什么方法可以在 Eclipse 中维护特定于项目的 运行 配置吗?

问题最初并不清楚,但提问者正在寻找一种方法来为单元测试指定 VM 参数。

在您需要特定 VM 参数的情况下,您不应依赖 Eclipse,而应更喜欢 Maven 或 Gradle 等构建工具。如果您的工作区已损坏(偶尔会发生,无论出于何种原因),您的配置都将消失。

使用 Maven Surefire,您可以在对每个项目执行单元测试时为 运行 指定 VM 参数。不仅如此,这是 IDE 不可知论者。

您可以在 pom.xml 中这样定义它,例如:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.19.1</version>
    <configuration>
        <argLine>-XX:MaxPermSize=1024m</argLine>
    </configuration>
</plugin>

-- 运行 配置已经是特定于项目的。右键单击该项目,select Run As,然后在菜单底部单击 Run Configurations。您在创建它们时指定它们适用于哪个项目:

您可以在“参数”选项卡中指定 VM 参数,并且可以通过右键单击它们并 select 复制来复制 运行 配置。

Window → Preferences → Java → Installed JREs

第一个配置:

Default VM Arguments: -XX:+HeapDumpOnOutOfMemoryError 

JRE Home: JRE1-PorojectType (You can name it anything)

第二种配置:

Default VM Arguments: -XX:HeapDumpPath=${DOMAIN_HOME}/logs/mps"

JRE Home: JRE2-PorojectType (You can name it anything)

将配置的 JRE 关联到相关项目,然后项目将具有默认配置的 VM 参数。