blob: 81da9fe5fc1f64896b67553870361c92d685c7e4 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<meta name="copyright" content="Copyright (c) IBM Corporation and others 2009. 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">
<title>Plug-in</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" type="text/javascript"> </script>
</head>
<body>
<h1>Plug-in</h1>
<p>A <strong>plug-in</strong> is used to group your code into a modular, extendable and sharable unit.</p>
<p>Plug-ins are <em>modular</em> as each plug-in contains some portion of code. The plug-in specifies other plug-ins (or java packages) it requires to be available to run and it also specifies the set of java packages it provides. An Eclipse based program or <a href="product.htm">product</a> will contain multiple plug-ins, which can be added, replaced or removed to alter the functionality of the program.</p>
<p>Plug-ins are <em>extendable</em> using <a href="extension.htm">extensions and extension points</a>. A plug-in can provide one or more extension points so other plug-ins can add to the functionality of the plug-in. A plug-in may also provide extensions to connect to other plug-ins.</p>
<p>Plug-ins are <em>sharable</em>. A plug-in can be exported as a directory or as a jar which can be added to other applications. Plug-ins can be grouped into <a href="feature.htm">features</a> which can be distributed and installed into applications.</p>
<p>Eclipse plug-ins are based on OSGi bundles. OSGi is used to manage the plug-ins in an Eclipse application. A plug-in must contain a manifest file with valid OSGi headers for plug-in name and version. Extensions and extension points functionality added by Eclipse in addition to OSGi. To use extensions you must provide a plugin.xml file. PDE provides a full featured <a href="../guide/tools/project_wizards/new_plugin_project.htm">project</a> and <a href="../guide/tools/editors/manifest_editor/editor.htm">editor</a> for creating and editing these files.</p>
<p>Eclipse plug-ins can also be packaged as a Java modular project ( Java 9 or later).</p>
<h3 class="related">Related references</h3>
<a href="../guide/tools/editors/manifest_editor/editor.htm">Plug-in Editor</a><br>
<a href="../guide/tools/project_wizards/new_plugin_project.htm">New Plug-in Project</a>
<h3 class="related">Related concepts</h3>
<a href="fragment.htm">Fragment</a><br>
<a href="feature.htm">Feature</a><br>
</body>
</html>