blob: bec87db9270b96d28fa18f2eb856c7c066a4787a [file] [log] [blame]
<!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 &gt; Open Perspective
&gt; Other... &gt; 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 &gt; New &gt;
Other... &gt; 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>