1.5.1. Workspace

A workspace is like an intermediate directory for your Eclipse. Eclipse would use workspace as a cache for many of its operations. Preferences and settings also get stored into workspace.

The concept of a workspace is a little bit tricky. Why exactly is a workspace needed? Many tools need a location to store temporary but persistent data. These tools keep it hidden from the user. Eclipse makes user aware of this fact that there is actually something called a workspace.

For those engineers who can read UML, see the Correlation of workspace, projects, resources, folders and files.


Correlation of workspace, projects, resources, folders and files

A workspace can have many projects. Projects have folders and files. Workspace contains resources. Project, folders and files are workspace resources.


Just to remain away from complexity, the relation between Eclipse and workspace has not been shown deliberately. For the beginning, it is assumed that developer would just use a single Eclipse workspace. The topic of multiple workspaces has been covered in detail in another section.

By default, new projects get created in workspace[1]. The default workspace is in user’s home directory. Selecting default workspace

When Eclipse first starts, Eclipse requests to select a workspace (See Making workspace choice permanent). Depending on the size of the projects, select an appropriate folder. Select Use this as the default and do not ask again. If needed, this selection can be reverted from Create preferences to use a default workspace

Making workspace choice permanent

Making workspace choice permanent


No user serviceable parts inside. Technically, there is nothing within Eclipse workspace for user to see/modify. Resource

Conceptually, anything that is physically present in the file system can be an Eclipse resource. That includes a folder, file and the project itself.

There are two kinds of resources, ordinary resources & linked resources. The concept of linked files and folders is covered in Creating a sample project.

[1]User can also create projects outside Eclipse workspace.