Andrei Pozolotin
Andrei Pozolotin

Reputation: 937

Environment variables in eclipse.ini file

Does eclipse.ini or eclipse command line support variable parsing such as $PATH or ${java.home}?

Upvotes: 11

Views: 14203

Answers (3)

Paolo
Paolo

Reputation: 1691

Elaborating the @VonC answer I have created a simple file eclipse.bat containing the following simple line:

start eclipse.exe -vm %WORK_DIRECTORY%\tools\Java\jdk1.8.0_73\bin\javaw.exe

Where I have used a system variable. Now, instead of calling directly eclipse.exe, I call eclipse.bat and this does the trick.

Upvotes: 3

Bartek T
Bartek T

Reputation: 23

In my case I wanted to have redefined user name (used e.g. in @author tag) so I have changed the shortcut to eclipse to point to the following:

C:\Java\eclipse\eclipse.exe -vmargs -Duser.name=%eclipse_user%

Then I have defined user variable eclipse_user which can be set by each user separately. For my needs it's enough.

Upvotes: 2

VonC
VonC

Reputation: 1323263

As mentioned in FAQ: How do I run Eclipse?

If available under the eclipse/jre directory, the Eclipse JRE will be used; otherwise the launcher will consult the system path variable. Eclipse will NOT consult the JAVA_HOME environment variable.

a eclipse command line can use environment variable (like any other command):

eclipse -vm $jAVA_HOME/bin

would work.

But Eclipse itself (or eclipse.ini) will not use parse directly an environment variable.
A eclipse.ini like this one only use full paths.


Actually, bug 102239 is already asking for that kind of feature... since 2005!

Bug 102239 - [launcher] Environment variable substitution in <launcher>.ini/eclipse.ini

It'd be very helpful if the launcher would support the insertion of environment variables in the <launcher>.ini.
Whatever form might make sense (e.g. @ENV, %ENV%, ${ENV}, ${env_var:ENV})

e.g. something like

-vm
${MYRCPAPP_VM}
-mx${MYRCPAPP_HEAPSIZE}

But the answers ask for help on this:

The launcher is written in C. The code is in the platform-launcher project.

[To] want this on any argument including the vm, vmargs etc, in which case this would need to happen in the native code.

Upvotes: 16

Related Questions