| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |
| "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html lang="en" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> |
| <head> |
| <meta name="copyright" content= |
| "Copyright (c) IBM Corporation and others 2000, 2011. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." /> |
| <link rel="stylesheet" href="../book.css" charset="ISO-8859-1" type= |
| "text/css" /> |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
| <meta http-equiv="Content-Style-Type" content="text/css" /> |
| <title> |
| Products sharing a common source framework |
| </title> |
| <script language="JavaScript" type="text/javascript" src= |
| "PLUGINS_ROOT/org.eclipse.help/livehelp.js"> |
| |
| </script> |
| </head> |
| <body> |
| <h1> |
| Products sharing a common source framework |
| </h1> |
| <h3> |
| Layout on file system |
| </h3> |
| <ul> |
| |
| <li>The Java source files for two products require a common framework. |
| </li> |
| <li>Projects and common framework are in separate directories which have |
| their own source and output folders. |
| <p> |
| <img src="images/qs-WorkingWithExistingLayout40.png" alt= |
| "Layout on file system" /> |
| </p> |
| </li> |
| </ul> |
| <h3> |
| Steps for defining corresponding projects |
| </h3> |
| |
| <ol> |
| <li> |
| <p> |
| Click <a class="command-link" href= |
| 'javascript:executeCommand("org.eclipse.ui.perspectives.showPerspective(org.eclipse.ui.perspectives.showPerspective.perspectiveId=org.eclipse.jdt.ui.JavaPerspective)")'> |
| <img src="PLUGINS_ROOT/org.eclipse.help/command_link.png" alt= |
| "Opens the Java perspective" /> <strong>Window > Open Perspective |
| > Other... > Java</strong></a> to change to the Java |
| perspective. |
| </p> |
| |
| </li> |
| <li> |
| <p> |
| Click <a class="command-link" href= |
| 'javascript:executeCommand("org.eclipse.ui.newWizard(newWizardId=org.eclipse.jdt.ui.wizards.JavaProjectWizard)")'> |
| <img src="PLUGINS_ROOT/org.eclipse.help/command_link.png" alt= |
| "Opens the New Java Project wizard" /> <strong>File > New > |
| Other... > Java Project</strong></a> to open the <strong>New Java |
| Project</strong> wizard. |
| </p> |
| |
| </li> |
| <li> |
| <p> |
| Type "Product1" in the <strong>Project name</strong> field. Click |
| <strong>Next</strong>. |
| </p> |
| <p> |
| <img src="images/qs-WorkingWithExistingLayout41.png" alt= |
| "New Java Project wizard" /> |
| |
| </p> |
| </li> |
| <li> |
| <p> |
| On the next page, Select "Product1" source folder. |
| </p> |
| <p> |
| Click <strong>Link additional source</strong> link in |
| <strong>Details</strong> pane or button <img src= |
| "images/add_linked_source_to_buildpath.png" alt= |
| "Link Additional Source to Project" /> in view bar. |
| </p> |
| |
| <p> |
| <img src="images/qs-WorkingWithExistingLayout42.png" alt= |
| "Java Project Source setup" /> |
| </p> |
| </li> |
| <li> |
| <p> |
| In <strong>Link Source</strong> click <strong>Browse....</strong> and |
| choose the <i><code>D:\Product1\JavaSourceFiles</code></i> directory. |
| </p> |
| |
| <p> |
| Type "src" in the <strong>Folder name</strong> field. |
| </p> |
| <p> |
| <img src="images/qs-WorkingWithExistingLayout43.png" alt= |
| "Link Source dialog" /> |
| </p> |
| </li> |
| <li> |
| |
| <p> |
| Click <strong>Finish</strong> to validate and close the dialog. |
| </p> |
| </li> |
| <li> |
| <p> |
| Again, Select "Product1" and click <strong>Link additional |
| source</strong> link in <strong>Details</strong> pane or button |
| <img src="images/add_linked_source_to_buildpath.png" alt= |
| "Link Additional Source to Project" /> in view bar. |
| </p> |
| |
| <p> |
| <img src="images/qs-WorkingWithExistingLayout44.png" alt= |
| "Java Project Source setup" /> |
| </p> |
| </li> |
| <li> |
| <p> |
| In <strong>Link Source</strong> click <strong>Browse....</strong> and |
| choose the <i><code>D:\Framework\JavaSourceFiles</code></i> |
| |
| directory. |
| </p> |
| <p> |
| Type "src-common" in the <strong>Folder name</strong> field. |
| </p> |
| <p> |
| <img src="images/qs-WorkingWithExistingLayout45.png" alt= |
| "Link Source dialog" /> |
| </p> |
| |
| </li> |
| <li> |
| <p> |
| Click <strong>Finish</strong> to validate and close the dialog. |
| </p> |
| <p> |
| Your project source setup now looks as follows: |
| </p> |
| |
| <p> |
| <img src="images/qs-WorkingWithExistingLayout46.png" alt= |
| "Java Project Source final setup" /> |
| </p> |
| </li> |
| <li>Click <strong>Finish</strong>. |
| </li> |
| <li> |
| <p> |
| |
| Create project "Product2" repeating steps 2 to 5 choosing |
| <i><code>D:\Product2\JavaSourceFiles</code></i> directory for source |
| folder instead. |
| </p> |
| </li> |
| <li> |
| <p> |
| Click on <strong>Finish</strong> to create the project immediately. |
| </p> |
| |
| </li> |
| <li> |
| <p> |
| Now, we'll see how to add a linked source folder when project is |
| already created in workspace... |
| </p> |
| <p> |
| Edit project "Product2" properties and select <strong>Java Builder |
| Path</strong> page. |
| </p> |
| |
| <p> |
| On <strong>Source</strong> tab, click <strong>Link |
| Source...</strong>. |
| </p> |
| <p> |
| <img src="images/qs-WorkingWithExistingLayout47.png" alt= |
| "Java Build Path Properties Source tab" /> |
| </p> |
| </li> |
| |
| <li> |
| <p> |
| In <strong>Link Source</strong> click <strong>Browse....</strong> and |
| choose the <i><code>D:\Framework\JavaSourceFiles</code></i> |
| directory. |
| </p> |
| |
| <p> |
| Type "src-common" in the <strong>Folder name</strong> field. |
| </p> |
| <p> |
| <img src="images/qs-WorkingWithExistingLayout48.png" alt= |
| "Link Source dialog" /> |
| </p> |
| </li> |
| <li> |
| |
| <p> |
| Click <strong>Finish</strong> to validate and close the dialog. |
| </p> |
| <p> |
| Click <strong>OK</strong> to apply project "Product2" properties |
| changes. |
| </p> |
| </li> |
| |
| <li>You now have two Java projects which respectively contain the sources |
| of "Product1" and "Product2" and which are using the sources of |
| "Framework". |
| <p> |
| <img src="images/qs-WorkingWithExistingLayout49.png" alt= |
| "Created Java projects in Workspace" /> |
| </p> |
| </li> |
| </ol><em>Note:</em> Files in "src-common" are shared. So editing |
| "Common.java" in "Product1" will modify "Common.java" in "Product2". |
| However they are compiled in the context of their respective projects. Two |
| "Common.class" files will be generated; one for each project. If the two |
| projects have different compiler options, then different errors could be |
| reported on each "Common.java" file. |
| <p class="nav_footer" id="nav_footer"> |
| Next Section: <a href="qs-WorkingWithExistingLayout5.htm">Product nesting |
| resources in output directory</a> |
| |
| </p> |
| <p> |
| <img border="0" src="../images/ngrelc.png" alt="Related concepts" /> |
| </p> |
| <p> |
| <a href="../concepts/concept-java-project.htm">Java projects</a><br /> |
| <a href="../concepts/concept-java-views.htm">Java views</a><br /> |
| </p> |
| |
| <p> |
| <img src="../images/ngrelr.png" alt="Related reference" /> |
| </p> |
| <p> |
| <a href="../reference/ref-wizard-java-project.htm">New Java Project |
| Wizard</a><br /> |
| <a href="../reference/views/ref-view-package-explorer.htm">Package |
| Explorer View</a><br /> |
| </p> |
| </body> |
| |
| </html> |