| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
| |
| <html> |
| <head> |
| <meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." > |
| <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> |
| <meta http-equiv="Content-Style-Type" content="text/css"> |
| |
| <title>Java Build Path page</title> |
| <link rel="stylesheet" href="../book.css" charset="ISO-8859-1" type="text/css"> |
| <script language="JavaScript" src="PLUGINS_ROOT/org.eclipse.help/livehelp.js"> </script> |
| </head> |
| |
| <body> |
| <h1>Java Build Path page</h1> |
| |
| <p>The options in this page indicate the build path settings for a Java project. |
| You can reach this page through the <a href="ref-121.htm">New Java Project wizard</a>.</p> |
| |
| <p>The build class path is a list of paths visible to the compiler when building the project.</p> |
| |
| <h2>Source tab</h2> |
| |
| <p>Source folders are the root of packages containing .java files. The compiler will translate the contained files to .class files that will be written to the output folder. |
| The output folder is defined per project except if a source folder specifies an own output folder. Each source folder can define an exclusion filter to specify which |
| resources inside the folder should not be visible to the compiler.<br> |
| Resources existing in source folders are also copied to the output folder unless the setting in the <a href="ref-preferences-compiler.htm">Compiler preference |
| page</a> |
| (<a class="command-link" href='javascript:executeCommand("org.eclipse.ui.window.preferences(preferencePageId=org.eclipse.jdt.ui.preferences.JavaBuildPreferencePage)")'> |
| <img src="PLUGINS_ROOT/org.eclipse.help/command_link.png"> |
| <b>Java > Compiler > Building</b></a>) specifies that the resource is filtered.</p> |
| |
| <p>The tree shows the project as it will look like when switching to the package explorer. Several operations can be executed |
| on this tree to change the structure of the project.</p> |
| |
| <table border="1" cellspacing="0" cellpadding= "5" summary="Source folder options" width="700"> |
| |
| <tbody> |
| <tr> |
| <th>Icon</th> |
| |
| <th>Option</th> |
| |
| <th>Description</th> |
| </tr> |
| |
| <tr> |
| <td align="center" valign="center" width="5%"><img src="../images/org.eclipse.jdt.ui/elcl16/add_to_buildpath.png" alt="Add to build path" border="0" ></td> |
| |
| <td align="center" valign="center" width="20%">Add to build path</td> |
| |
| <td align="left" valign="top">Allows to add a folder or package to the Java build path and change it to a source folder. A source folder is a top-level |
| folder in the project hierarchy that is used as the root of packages. Entries on the build path like source folders are visible to the compiler |
| and all contained resources like .java files are used to build the project. Source folders allow to structure the project, for example to separate |
| test from the application in two source folders. Within a source folder, a more detailed structuring can be done by using packages. |
| </td> |
| </tr> |
| |
| <tr> |
| <td align="center" valign="center" width="05%"><img src="../images/org.eclipse.jdt.ui/elcl16/remove_from_buildpath.png" alt="Remove from buildpath" border="0" ></td> |
| |
| <td align="center" valign="center" width="20%">Remove from buildpath</td> |
| |
| <td align="left" valign="top">Allows to remove a source folder from the Java build path and change it into a normal folder. All contained resources |
| in this folder (like .java files) are no longer visible to the compiler and will not be included when building the project. |
| </td> |
| </tr> |
| |
| <tr> |
| <td align="center" valign="center" width="05%"><img src="../images/org.eclipse.jdt.ui/elcl16/exclusion_filter_attrib.png" alt="Exclude" border="0" ></td> |
| |
| <td align="center" valign="center" width="20%">Exclude</td> |
| |
| <td align="left" valign="top">Allows to add a resource to the exclusion filter of it's parent source folder. The consequence is that |
| all children of this resource are no longer visible to the compiler. This operation can be useful if for example, some packages |
| are not needed in the project and can therefore be hidden from the compiler. |
| </td> |
| </tr> |
| |
| <tr> |
| <td align="center" valign="center" width="05%"><img src="../images/org.eclipse.jdt.ui/elcl16/inclusion_filter_attrib.png" alt="Include" border="0" ></td> |
| |
| <td align="center" valign="center" width="20%">Include</td> |
| |
| <td align="left" valign="top">This action is available on files or folders that have been excluded. In this situation, include allows to make this |
| resources again visible to the compiler. |
| </td> |
| |
| </tr> |
| |
| <tr> |
| <td align="center" valign="center" width="05%"><img src="../images/org.eclipse.jdt.ui/obj16/text_edit.png" alt="Configure source folder properties" border="0" ></td> |
| |
| <td align="center" valign="center" width="20%">Configure source folder properties</td> |
| |
| <td align="left" valign="top">Editing can be used in two situations: <p> |
| <ol> |
| <li>Customize the inclusion and exclusion filters by defining string patterns. This can be useful if |
| including or excluding every single resource would take too long and just some simple patterns can do the job. A very |
| practical operator is the wildcard operator to define more sophisticated patterns (for example exclude all resources |
| that start with "Test*.java").</li> |
| <li>Change the output folder for a source folder. The consequence is that all generated |
| .class files from the .java files in this source folder are will be generated in the separate output folder instead of the |
| project's output folder.</li> |
| </ol> |
| Note that this advanced action is only available on single selected objects. |
| </p></td> |
| </tr> |
| |
| <tr> |
| <td align="center" valign="center" width="05%"><img src="../images/org.eclipse.jdt.ui/elcl16/clear_co.png" alt="Undo all changes" border="0" ></td> |
| |
| <td align="center" valign="center" width="20%">Undo all changes</td> |
| |
| <td align="left" valign="top">All changes that have been applied to the project in this wizard will be withdrawn and the original |
| state of the project is reconstructed. |
| </td> |
| </tr> |
| |
| <tr> |
| <td align="center" valign="center" width="05%"><img src="../images/org.eclipse.jdt.ui/etool16/newpackfolder_wiz.png" alt="Link additional source to project" border="0" ></td> |
| |
| <td align="center" valign="center" width="20%">Link additional source to project</td> |
| |
| <td align="left" valign="top">When creating a project, there are might already exist some pieces of code or other resources somewhere in the |
| file system that could also be used for this new project. To add this sources to the project, it is possible to create a linked source |
| folder to the folder in the file system and make its content visible to the compiler. Note that only a link to the folder is created. This means that |
| any modifications on resources in that folder will also have an impact on other projects also using this resources. |
| </td> |
| </tr> |
| |
| <tr> |
| <td align="center" valign="center" width="05%">No icon</td> |
| |
| <td align="center" valign="center" width="20%">Allow output folders for source folders</td> |
| |
| <td align="left" valign="top">Shows/Hides the 'output folder' attribute of the source folders. If no output folders are shown, this |
| means that the project's default output folder is used for the generated .class files.</td> |
| </tr> |
| </tbody> |
| </table> |
| |
| <p>Note that a shorter description of all operations is visible in the area at the bottom of the project tree (labeled with 'Description'). Only the descriptions |
| which are valid for the current selection on the project are shown. For experienced users it is also possible to close the description area to view |
| the projects structure enlarged.</p> |
| |
| <h2>Projects tab</h2> |
| |
| <p>In the <b>Required projects on the build path</b> list, you can add project dependencies by selecting other workbench |
| projects to add to the build path for this new project. The <b>Select All</b> and <b>Deselect All</b> buttons can be used to add or remove all other projects to or from the build path.</p> |
| |
| <p>Adding a required project indirectly adds all its classpath entries marked as 'exported'. Setting a classpath entry as exported is done in the Order and Export tab.</p> |
| |
| <p>The projects selected here are automatically added to the referenced projects list. The referenced project list is used to determine the build order. A project is always |
| build after all its referenced projects are built.</p> |
| |
| <h2>Libraries tab</h2> |
| |
| <p>On this page, you can add libraries to the build path. You can add:</p> |
| |
| <ul> |
| <li>Workbench-managed (internal) JAR files</li> |
| |
| <li>File system (external) JAR files</li> |
| |
| <li>Folders containing CLASS files</li> |
| <li>Predefined libraries like the JRE System Library</li> |
| </ul> |
| |
| <p>JAR files can also be added indirectly as class path variables.</p> |
| |
| <p>By default, the library list contains an entry representing the Java runtime library. This entry points to the JRE |
| selected as the default JRE. The default JRE is configured in the <a href="ref-18.htm">Installed JREs preferences page</a> (Window > Preferences > Java > Installed |
| JREs)</p> |
| |
| <table border="1" cellspacing="0" cellpadding="5" summary="libraries tab options" width="700"> |
| <caption> |
| Libraries tab options<br> |
| </caption> |
| |
| <tbody> |
| <tr> |
| <th width="20%">Option</th> |
| |
| <th>Description</th> |
| </tr> |
| |
| <tr> |
| <td align="left" valign="top">Add JARs</td> |
| |
| <td align="left" valign="top">Allows you to navigate the workbench hierarchy and select JAR files to add to the build path.</td> |
| </tr> |
| |
| <tr> |
| <td align="left" valign="top">Add External JARs</td> |
| |
| <td align="left" valign="top">Allows you to navigate the file system (outside the workbench) and select JAR files to add to the build path.</td> |
| </tr> |
| |
| <tr> |
| <td align="left" valign="top">Add Variable</td> |
| |
| <td align="left" valign="top">Allows you to add classpath variables to the build path. Classpath variables are an indirection to JARs with the benefit of avoiding local |
| file system paths in a classpath. This is needed when projects are shared in a team.<br> |
| Variables can be created and edited in the <a href="ref-15.htm">Classpath Variable preference page</a> |
| (<a class="command-link" href='javascript:executeCommand("org.eclipse.ui.window.preferences(preferencePageId=org.eclipse.jdt.ui.preferences.ClasspathVariablesPreferencePage)")'> |
| <img src="PLUGINS_ROOT/org.eclipse.help/command_link.png"> |
| <b>Java > Build Path > Classpath Variables</b></a>)</td> |
| </tr> |
| |
| <tr> |
| <td>Add Library</td> |
| |
| <td>Allows to add a predefined libraries like the JRE System Library. Such libraries can stand for an arbitrary number of entries (visible as children node of the library node)</td> |
| </tr> |
| |
| <tr> |
| <td>Add Class Folder</td> |
| |
| <td>Allows to navigate the workbench hierarchy and select a class folder for the build path. The selection dialog also allows you to create a new folder.</td> |
| </tr> |
| |
| <tr> |
| <td align="left" valign="top">Edit</td> |
| |
| <td align="left" valign="top">Allows you to modify the currently selected library entry or entry attribute</td> |
| </tr> |
| |
| <tr> |
| <td align="left" valign="top">Remove</td> |
| |
| <td align="left" valign="top">Removes the selected element from the build path. This does not delete the resource.</td> |
| </tr> |
| </tbody> |
| </table> |
| |
| <p> Libraries have the following attributes (presented as library entry children nodes):</p> |
| |
| <table border="1" cellspacing="0" cellpadding="5" summary="Source folder options" |
| width="750"> |
| <caption>Library entry attributes<br> |
| </caption> |
| |
| <tbody> |
| <tr> |
| <th>Attribute</th> |
| |
| <th>Description</th> |
| </tr> |
| |
| <tr> |
| <td align="left" valign="top" width="20%">Javadoc location</td> |
| |
| <td align="left" valign="top">Specifies where the library's Javadoc documentation can be found. If specified you can use <b>Shift+F2</b> on an element of this library to open its documentation.</td> |
| </tr> |
| |
| <tr> |
| <td align="left" valign="top">Source attachment</td> |
| |
| <td align="left" valign="top">Specifies where the library's source can be found.</td> |
| </tr> |
| </tbody> |
| </table> |
| |
| |
| |
| |
| <h2>Order and Export tab</h2> |
| |
| <p>In the <b>Build class path order</b> list, you can click the <b>Up</b> and <b>Down</b> buttons to move the selected path entry up or down in the build path order for this new project.</p> |
| |
| <p>Checked list entries are marked as exported. Exported entries are visible to projects that require the project. Use the <b>Select |
| All</b> and <b>Deselect All</b> to change the checked state of all entries. Source folders are always exported, |
| and can not be deselected.</p> |
| |
| <h2>Default output folder</h2> |
| |
| <p>At the bottom of this page, the <b>Default output folder</b> field allows you to enter a path to a folder path where the compilation output for this |
| project will reside. The default output is used for source folders that do not specify an own output folder. Use <b>Browse</b> to select an existing location from the current project.</p> |
| |
| <p><img src="../images/ngrelc.png" alt="Related concepts" border="0" ></p> |
| <p> |
| <a href="../concepts/cbuildcp.htm">Build classpath</a><br> |
| <a href="../concepts/cclsspthv.htm">Classpath variables</a><br> |
| </p> |
| |
| <p><img src="../images/ngrelt.png" alt="Related tasks" border="0" ></p> |
| <a href="../tasks/tasks-110.htm">Working with build paths</a><br> |
| <a href="../tasks/tasks-116.htm">Attaching source to variables</a><br> |
| <a href="../tasks/tasks-115.htm">Attaching source to a JAR file</a> |
| <p> |
| <img src="../images/ngrelr.png" alt="Related reference" border="0" > |
| </p> |
| <p> |
| <a href="../reference/ref-152.htm">Frequently asked questions on JDT</a><br> |
| <a href="../reference/ref-15.htm">Classpath Variables preferences</a><br> |
| <a href="../reference/ref-properties-compiler.htm">Java Compiler properties</a> |
| </p> |
| |
| |
| </body> |
| </html> |
| |