首页 > 解决方案 > 如何在 eclipse.ini 中引用 JVM 变量

问题描述

我想为文件中指定一个自定义java.io.tmpdireclipse.ini。具体来说,我需要将用户名作为路径的一部分。

我在我的 中看到以下条目eclipse.ini

-Dosgi.instance.area.default=@user.home/eclipse-workspace

但是当我尝试为我的目的使用类似的行时:

-Djava.io.tmpdir=/tmp/eclipse_@user.name
-Djava.io.tmpdir=/tmp/eclipse_{@user.name}
-Djava.io.tmpdir=/tmp/eclipse_@{user.name}
-Djava.io.tmpdir=/tmp/@user.name

我最终得到以下目录(字面意思):

/tmp/eclipse_@user.name
/tmp/eclipse_{@user.name}
/tmp/eclipse_@{user.name}
/tmp/@user.name

我如何指定我的-D选项,以便@user.name用实际的用户名(例如,john_doe)替换?

标签: eclipsejvm-arguments

解决方案


eclipse.ini 不支持变量替换。

和替换由 Equinox 位置代码完成,因此仅支持 Equinox 位置值,它们是@user.home@user.dir

osgi.install.area
osgi.configuration.area
osgi.configuration.area.default
osgi.instance.area
osgi.instance.area.default
osgi.user.area
osgi.user.area.default

执行此操作的代码是org.eclipse.osgi.internal.location.EquinoxLocations


推荐阅读