title: How to remove the explicit dependencies to other projects' libraries in Eclipse launch configurations?
body: <p>In Eclipse it is possible to create launch configurations in a project, specifying the runtime dependencies from another project. A problem I found was that if you have a multiple project workspace, being possible that each project has its own libraries, it is easy to add explicit dependencies in a secondary project to libraries that are of another project and therefore subject to change.</p>
  
  <p>An example of this problem follows:  </p>
  
  <pre>proj1
      +-- src  
      +-- lib  
             +-- jar1-v1.0.jar  
             +-- jar2-v1.0.jar  
  proj2  
      +-- src  
      +-- proj2-tests.launch</pre>
  
  <p>I don't have a dependency from the code in proj2/src to the libraries in proj1/lib. Nevertheless, I do have a dependency from proj2/src to proj1/src, although since there is an internal dependency in the code in proj1/src to its libraries jar1-v1.0.jar and jar2.v1.0.jar, I have to add a dependency in proj2-tests.launch to the libraries in proj1/lib. This translates to the following ugly lines in proj2-tests.launch:</p>
  
  <pre>&lt;listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry path=&quot;3&quot; projectName=&quot;proj1&quot; type=&quot;1&quot;/&gt;&#10;"/&gt;
  &lt;listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/proj1/lib/jar1-v1.0.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/&gt;
  &lt;listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/proj1/lib/jar2-v1.0.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/&gt;</pre>
  
  <p>This wouldn't be a big problem if there wasn't the need from time to time to evolve the software, upgrade the libraries and etc. Consider the common need to upgrade the libraries jar1-v1.0.jar and jar2-v1.0.jar to their versions v1.1. Consider that you have about 10 projects in one workspace, having about 5 libraries each and about 4 launch configurations. You get a maintenance overhead in doing a simple upgrade of a library, which normally must imply changes in files for which there wasn't the need for. Or maybe I'm doing something wrong...</p>
  
  <p>What I would like to state is proj2 depends on proj1 and on its libraries and having this translated to simply that in the *.launch files. Is that possible?</p>