Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Environment variables in eclipse.ini file

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

like image 460
Andrei Pozolotin Avatar asked Mar 11 '10 15:03

Andrei Pozolotin


People also ask

Where are environment variables stored in Eclipse?

Environment Variables are attached to a "Run Configuration"(Run -> Run Configurations). Then you create a new Java Application run config, and will see Environment tab on the right panel.

How do I see my environment variables?

On the Windows taskbar, right-click the Windows icon and select System. In the Settings window, under Related Settings, click Advanced system settings. On the Advanced tab, click Environment Variables.

What is INI file in Eclipse?

ini is the configuration file used to control the Eclipse startup. We can configure Eclipse VM arguments such as JDK to be used (eclipse. ini vm), permgen space, maximum and minimum heap size using Xms, Xmx parameters.


3 Answers

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.

like image 51
VonC Avatar answered Sep 21 '22 21:09

VonC


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.

like image 28
Paolo Avatar answered Sep 25 '22 21:09

Paolo


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.

like image 40
Bartek T Avatar answered Sep 24 '22 21:09

Bartek T