如何在 eclipse.ini 中引用 JVM 变量

How to reference a JVM variable in eclipse.ini

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

我在 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)?

eclipse.ini不支持变量替换。

@user.home@user.dir 替换由 Equinox 位置代码完成,因此仅支持以下 Equinox 位置值:

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