168
votes

Is there a way to start an instance of eclipse, passing it some sort of parameter telling it to use a specific workspace?

The problem I'm trying to solve is that I have a workspace for work projects and one for personal projects. I'd like to be able to tie these to workspaces to separate shortcuts that I could launch independently.

8

8 Answers

256
votes

From http://help.eclipse.org/help21/topic/org.eclipse.platform.doc.user/tasks/running_eclipse.htm:

Use the following command-line argument:

-data your_workspace_location

For example,

-data c:\users\robert\myworkspace

you can also use UNIX-style relative path names such as

-data ../workspace

even under Windows, in case something doesnt like colons or backslashes in parameters, like Jumplist Launcher

20
votes

With the -data switch

Setting a specific location for the workspace with -data

To use the -data command line argument, simply add -data your_workspace_location (for example, -data c:\users\robert\myworkspace) to the Target field in the shortcut properties, or include it explicitly on your command line.

From: http://help.eclipse.org/help21/index.jsp?topic=/org.eclipse.platform.doc.user/tasks/running_eclipse.htm

19
votes

We set the default workspace for students at a high school by modifying the shortcut properties. In this case, we operate a Windows 7 environment. The default workspace is on a student's network share mapped as the H: drive so we added -data h:\workspace. The screenshot shows exactly where.

enter image description here

10
votes

note that you can use UNIX-style relative path names such as

-data ../workspace

even under Windows, in case something doesn't like colons or backslashes in parameters, like Jumplist Launcher

2
votes

Old question, I know, but just wanted to point out that you may need to add quotes around the target workspace path. For example; I tried C:\Eclipse\eclipse.exe -data E:\Eclipse Projects2 and it would open a blank, default, workspace while doing C:\Eclipse\eclipse.exe -data "E:\Eclipse Projects2" allowed it to use the existing workspace. I'm guessing this varies based on OS and/or Eclipse version, but I'm not sure exactly what factors into this, so just try both ways until you get one to load the correct/existing workspace.

1
votes

Creating a shortcut file with target :

Create a shortcut of your eclipse. Open the properties of the shortcut file and set the target as follows,

E\STS.exe -data "WORKSPACE_LOCATION"

For launching from .bat file :

cd ECLIPSE_LOCATION   
start STS.exe -data "WORKSPACE_LOCATION"

Example:

cd /D D:\IDE\sts-bundle\sts-3.7.0.RELEASE    
start STS.exe -data "D:\My Workspace\workspace1"
0
votes

From https://help.eclipse.org/topic/org.eclipse.platform.doc.isv/reference/misc/runtime-options.html

It is also possible to specify the workspace location using the osgi.instance.area JVM arg as -Dosgi.instance.area=../workspace

This can be specified in the eclipse.ini file along with existing/other JVM args such as -Xms, -Xmx.

This option may be convenient for those who just want to append to the eclipse.ini file (which already contains other JVM args) without worrying to ensure that JVM args appear at the end.

-2
votes

I wish people would give an actual example, i learn better with examples rather than syntax. so here it goes...

"C:\MyEclipse Blue Edition\MyEclipse Blue Edition 10\myeclipse-blue.exe" -showlocation -data "C:\EclipseWork\WorkSpace"

this command will open eclipse with the specified workspace. this is a working example.