
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html xml:lang="en" lang="en">
	<head>
		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
		<title>Maven Bundle Plugin 2.3.5 Reference</title>
		<link rel="stylesheet" type="text/css" href="stylesheet.css" title="style" />
	</head>
	<body>
				<div class="overview">
			<ul>
				<li class="selected">Overview</li>
				<li>Package</li>
			</ul>
		</div>
		<div class="framenoframe">
			<ul>
				<li>
					<a href="index.html" target="_top">FRAMES</a>
				</li>
				<li>
    	        	<a href="overview-summary.html" target="_top">NO FRAMES</a>
        	  	</li>
	        </ul>
      	</div>
		
		      	<h2>Maven Bundle Plugin 2.3.5 Reference</h2>

		<table class="summary">
        	<thead>
          		<tr>
            		<th>Packages</th>
          		</tr>
        	</thead>
        	<tbody>
    	    	            	<tr>
              		<td>
                		<a href="org/apache/felix/bundleplugin/package-summary.html">org.apache.felix.bundleplugin</a>
              		</td>
            	</tr>
	          	        	</tbody>
      	</table>
		
				<div class="overview">
			<ul>
				<li class="selected">Overview</li>
				<li>Package</li>
			</ul>
		</div>
		<div class="framenoframe">
			<ul>
				<li>
					<a href="index.html" target="_top">FRAMES</a>
				</li>
				<li>
    	        	<a href="overview-summary.html" target="_top">NO FRAMES</a>
        	  	</li>
	        </ul>
      	</div>
		
		<hr />
		Copyright &copy; 2006-2011 The Apache Software Foundation. All Rights Reserved.
	</body>
</html>