blob: 4662cfb7ea2f1d819d7c88956d5cead542f117f0 [file] [log] [blame]
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Virgo Tools Guide</title><link rel="stylesheet" href="css/stylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.74.0"><!--Begin Google Analytics code--><script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script><script type="text/javascript">
var pageTracker = _gat._getTracker("UA-2728886-3");
pageTracker._setDomainName("none");
pageTracker._setAllowLinker(true);
pageTracker._trackPageview();
</script><!--End Google Analytics code--></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="book" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="d0e1"></a>Virgo Tools Guide</h1></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="firstname">Ramnivas</span> <span class="surname">Laddad</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Colin</span> <span class="surname">Yates</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Sam</span> <span class="surname">Brannen</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Rob</span> <span class="surname">Harrop</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Christian</span> <span class="surname">Dupuis</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Andy</span> <span class="surname">Wilkinson</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Glyn</span> <span class="surname">Normington</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Steve</span> <span class="surname">Powell</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Christopher</span> <span class="surname">Frost</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Miles</span> <span class="surname">Parker</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Leo</span> <span class="surname">Dos Santos</span></h3></div></div></div><div><div class="mediaobject" align="right"><img src="images/virgo-logo-small.png" align="right"></div></div><div><span class="productname">Virgo<br></span></div><div><p class="releaseinfo">3.5.0.RELEASE</p></div></div><div><div><div class="legalnotice"><a name="d0e72"></a><p>Copyright &copy; 2012 VMware Inc.</p></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="#introduction">1. Tooling</a></span></dt><dt><span class="chapter"><a href="#What.27s_New">2. </a></span></dt><dd><dl><dt><span class="section"><a href="#d0e84">2.1. What's New</a></span></dt><dt><span class="section"><a href="#1.0.0_M4">2.2. 1.0.0 M4</a></span></dt></dl></dd><dt><span class="chapter"><a href="#running">3. Running a Virgo Server for Apache Tomcat Instance Within Eclipse</a></span></dt><dt><span class="chapter"><a href="#repository-editor">4. Bundle and Library Provisioning</a></span></dt><dt><span class="chapter"><a href="#developing">5. Developing OSGi Bundles</a></span></dt><dd><dl><dt><span class="section"><a href="#tooling-developing-resolving-bundle-dependencies">5.1. Resolving Bundle Dependencies</a></span></dt><dt><span class="section"><a href="#tooling-developing-editing-manifest-mf">5.2. Editing the Manifest</a></span></dt></dl></dd><dt><span class="chapter"><a href="#pars">6. Developing PARs</a></span></dt><dt><span class="chapter"><a href="#deploying">7. Deploying Applications</a></span></dt><dt><span class="chapter"><a href="#d0e412">8. Installation and Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#Features">8.1. Features</a></span></dt><dt><span class="section"><a href="#Installation">8.2. Installation</a></span></dt><dt><span class="section"><a href="#Known_Issues">8.3. Known Issues</a></span></dt><dt><span class="section"><a href="#Notes">8.4. Notes</a></span></dt><dt><span class="section"><a href="#Migration">8.5. Migration</a></span></dt><dt><span class="section"><a href="#Maven_plugin">8.6. Maven plugin</a></span></dt><dt><span class="section"><a href="#Importing_Virgo_Projects_into_Eclipse">8.7. Importing Virgo Projects into Eclipse</a></span></dt></dl></dd></dl></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="introduction"></a>1.&nbsp;Tooling</h2></div></div></div><p>
Virgo Tools support the Virgo runtime with tools for managing servers, server runtimes, and bundles.
The IDE tools build on top of the Eclipse Web Tools Project (WTP) and collaborate with other Eclipse technologies such as
the Eclipse Libra project.
</p><p>
Among other things, the Virgo Tools support the creation of new OSGi bundle and PAR projects within Eclipse, and the
conversion of existing projects into OSGi bundle projects. Projects can then be deployed and debugged on a running
VTS from within Eclipse.
</p></div><div class="chapter" lang="en"><div class="titlepage"></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e84"></a>2.1&nbsp;What's New</h2></div></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="1.0.0_M4"></a>2.2&nbsp;1.0.0 M4</h2></div></div></div><p>We've made extensive changes throughout Virgo, focusing on quality and migration, but with a few new features as well.</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Improved_Server_Support"></a>Improved Server Support</h3></div></div></div><p>Virgo now supports almost all versions and types of Virgo installs, including older versions of Virgo and Tomcat, Jetty and Kernel installations. Best of all, you can now define servers using a single Server Runtime and the tooling will automatically discover the appropriate server configurations. You can even change server installations and versions for server runtimes without having to maintain any server setttings.</p><p>
</p><div class="mediaobject"><img src="images/whats-new-M4-server.png"></div><p>
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="UI"></a>UI</h3></div></div></div><p>We've provided a number of new features aimed at improving the user experience. We've been giving more transparency and leverage into what's actually happening on the server. Right now, interactions with the server involve frequent shifts back and forth between the Eclipse IDE, the native file system and the command line. Our ultimate goal is to have tools powerful and complete enough that you can work with the server without ever having to move out of Eclipse.</p><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="Virgo_Perspective"></a>Virgo Perspective</h4></div></div></div><p>You can now get your own perspective on Virgo. We've organized it to support runtime exploration but it should be usable for general development as well. Please give us feedback on the overall setup; we'll incorporate the feedback in future releases.</p><p>
</p><div class="mediaobject"><img src="images/whats-new-M4-perspective.png"></div><p>
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="Views"></a>Views</h4></div></div></div><p>When we talked to current users of the Spring Source / Virgo tools, one of the things we discovered is that there were a lot of features that they wanted to have us implement that actually already existed, but in many cases were buried somewhere -- in many cases on a page in the server editor. So we're providing some of the information and tools that are provided in the WTP-based Server Editor as stand-alone views and enriching it. The idea is provide better insight into what's happening on the server side. Some of these features involve significant changes to how server resources are treated and we'd appreciate your feedback on how well they work for your usage scenarios. We'll use these changes as a basis for further enhancements.</p><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="Outline_View"></a>Outline View</h5></div></div></div><p>As a first take at helping users find what they're looking for, we provided an outline view that gives quick access to server artifacts.</p><p>
</p><div class="mediaobject"><img src="images/whats-new-M4-outline-view.png"></div><p>
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="Artifacts_View"></a>Artifacts View</h5></div></div></div><p>A new view supports transparent access to runtime artifacts. Currently, you can view bundle jars and libraries, but we'd like to support plans, pars, properties and other artifact types as well. But the real news is what we've built behind this -- Virgo runtimes are now exposed as Eclipse projects, giving you full access to the contents of jars, including classes. You can even use JDT tools like the Type view on Server side jar contents.</p><p>
</p><div class="mediaobject"><img src="images/whats-new-M4-artifacts-view.png"></div><p>
</p><p>All of the new views are supported through the Eclipse Common Navigator Framework (CNF), which means that the views are highly configurable, and we've provided buttons to allow you to easily toggle on and off artifact types and present the artifacts in a tree or list view so that you can see all installed jars in one place.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="Servers_View"></a>Servers View</h5></div></div></div><p>And because the views are all supported through CNF, you can easily customize them. For example, currently you can access all of the bundle information from the server view -- but we'll probably disable that by default in the release. In any case, you can set it up anyway you want by adding or removing the content provider. Again please let us know if you think of a way that we can improve the user experience for you.</p><p>
</p><div class="mediaobject"><img src="images/whats-new-M4-servers-view.png"></div><p>
</p></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Documentation_and_Help"></a>Documentation and Help</h3></div></div></div><p>The complete virgo documentation set -- including the Tooling, Programmer and User's Guide as well as the Wiki pages -- is now included as Eclipse Help.</p><p>
</p><div class="mediaobject"><img src="images/whats-new-M4-help.png"></div><p>
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Installation_Process"></a>Installation Process</h3></div></div></div><p>Virgo Tools can now be installed from a single update site location.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Quality"></a>Quality</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Extensive bug fixes and re-factorings.</p></li><li><p>All Remaining Spring Dependencies have been removed.</p></li><li><p>Updated to meet Eclipse branding, packaging build and testing standards.</p></li></ul></div></div></div></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="running"></a>3.&nbsp;Running a Virgo Server for Apache Tomcat Instance Within Eclipse</h2></div></div></div><p>
After installing the Tools from the update site outlined in the previous
section, you
will be able to configure an instance of the VTS
inside Eclipse.
</p><p>
To do so bring up the WTP Servers view (i.e.,
<span class="guimenu">Window</span> &#8594; <span class="guisubmenu">Show View</span> &#8594; <span class="guimenuitem">Other</span> &#8594; <span class="guimenuitem">Server</span> &#8594; <span class="guimenuitem">Servers</span>
).
You can now right-click in the view and select "
<span class="guimenu">New</span> &#8594; <span class="guimenuitem">Server</span>
".
This will bring up a "New Server" dialog. Select "Virgo Server for Apache Tomcat
v2.1 Server"
in the "Virgo" category and click "
<span class="guibutton">Next</span>
".
</p><p>
<img src="images/tooling-new-server.png">
</p><p>
Within the "New Server Wizard" point to the installation directory of the
Virgo Server for Apache Tomcat
and finish the wizard. After finishing the wizard you should see a
Virgo Server for Apache Tomcat
entry in the Servers view.
</p><p>
To start, stop, and debug the created Virgo Server for Apache Tomcat instance use
the toolbar or the context
menu actions of the Servers view.
</p><p>
<img src="images/tooling-start-server.png">
</p></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="repository-editor"></a>4.&nbsp;Bundle and Library Provisioning</h2></div></div></div><p>
After successful configuration of an instance of the Virgo Server for Apache Tomcat
in Eclipse you can use
the Repository Browser to very easily install bundles and libraries from
the remote
SpringSource Enterprise Bundle Repository.
</p><p>
To open the Repository Browser double-click a Virgo Server for Apache Tomcat
instance in the Servers
view and select the "Repository" tab in the server editor. Please note
that opening of the
Editor may take a few seconds as the contents of the local repository needs
to be indexed
before opening.
</p><p>
<img src="images/tooling-repository-browser.png">
</p><p>
The left section of the Repository Browser allows the user to run
searches against the
SpringSource Enterprise Bundle Repository and displays matching results. The search can
take parts of bundle symbolic names, class or package names and allows
wildcards such as
&#8216;?&#8217; and &#8216;*&#8217;. By selecting the checkbox left to a matching
bundle and/or library and clicking
the "Download" button it is very easy to install new bundles in the
Virgo Server for Apache Tomcat. For your
convenience JARs containing the bundle source code can be automatically
downloaded as well.
</p><p>
Clicking the "Download" button will trigger an Eclipse background job that
will download
the selected repository artifacts and -- if desired -- the source JARs
one after another.
</p><p>
The section on the right displays the currently installed bundles and
libraries. Bundles
with available sources are visually marked. You can very easily download
missing source
JARs by using the "Install Sources" button.
</p></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="developing"></a>5.&nbsp;Developing OSGi Bundles</h2></div></div></div><p>
The Tools provide functionality that makes developing OSGi bundles,
especially the editing of MANIFEST.MF files, easier.
</p><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="tooling-developing-resolving-bundle-dependencies"></a>5.1&nbsp;Resolving Bundle Dependencies</h2></div></div></div><p>
While working with OSGi bundles, one of the most interesting and
challenging aspects is defining
the package, bundle, and library imports in the manifest and then
keeping this in sync
with your compile classpath either in Ant and Maven or Eclipse. In most
cases you would typically
be required to manually set up the Eclipse classpath. Ultimately, the
Eclipse compile
classpath is still different from the bundle runtime classpath, as normally an
entire
JAR file is being made available on the Eclipse classpath but not
necessarily at runtime
due to the explicit visibility rules defined in
<code class="code">Import-Package</code>
headers.
</p><p>
The Tools address this problem by providing an Eclipse classpath
container that
uses an Virgo Server for Apache Tomcat-specific dependency resolution mechanism.
This classpath
container makes resolved dependencies available on the project&#8217;s
classpath but allows
only access to those package that are imported explicitly (e.g., via
<code class="code">Import-Package</code>
)
or implicitly by using
<code class="code">Import-Library</code>
or
<code class="code">Import-Bundle</code>
.
</p><p>
To use the automatic dependency resolution, an OSGi bundle or PAR
project needs to be
targeted to a configured Virgo Server for Apache Tomcat instance. This can be done
from the project&#8217;s
preferences by selecting the runtime on the "Targeted Runtimes" preference page.
</p><p>
</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.gif"></td><th align="left">Note</th></tr><tr><td align="left" valign="top">
In most scenarios it is sufficient to target the PAR project to a
runtime. The nested
bundles will then automatically inherit this setting.
</td></tr></table></div><p>
</p><p>
<img src="images/tooling-classpath.png">
</p><p>
After targeting the project or PAR you will see a "Bundle Dependencies"
classpath
container in your Java project. It is now safe to remove any manually
configured classpath
entries.
</p><p>
The classpath container will automatically attach Java source code to
the classpath
entries by looking for source JARs next to the binary JARs in the
Virgo Server for Apache Tomcat&#8217;s
repository. You can also manually override the source code attachment by using
the
properties dialog on a single JAR entry. This manual attachment will always
override
the convention-based attachment.
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="tooling-developing-editing-manifest-mf"></a>5.2&nbsp;Editing the Manifest</h2></div></div></div><p>
The Tools provide a Bundle Manifest Editor that assists the developer
to create and
edit MANIFEST.MF files. The editor understands the Virgo Server for Apache Tomcat
specific headers
like
<code class="code">Import-Library</code>
and
<code class="code">Import-Bundle</code>
and provides content
assist features while editing source code. Furthermore a Eclipse Form-based
UI is also
available.
</p><p>
To open the Bundle Manifest Editor right click a MANIFEST.MF file and
select "Bundle
Manifest Editor" from the "Open With" menu.
</p><p>
</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.gif"></td><th align="left">Note</th></tr><tr><td align="left" valign="top">
Please note that the Virgo Server for Apache Tomcat specific manifest headers
appear in green color
to distinguish them from those headers defined in the OSGi
specification. This also
makes navigating much easier.
</td></tr></table></div><p>
</p><p>
<img src="images/tooling-manifest-source-editor.png">
</p><p>
The content assist proposals in the source tab as well as in the
UI-based tabs are
resolved from the bundle and library repository of an installed and
configured
Virgo Server for Apache Tomcat. Therefore it is important to target the project or PAR to a specific
VTS instance to indicate to the tooling which
bundle repository to use.
</p><p>
</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.gif"></td><th align="left">Note</th></tr><tr><td align="left" valign="top">
If a OSGi bundle project is not targeted to a
VTS instance, either
directory or indirectly via a PAR project&#8217;s targetting, the manifest
editor will not
be able to provide content assist for importing packages, bundles, and
libraries.
</td></tr></table></div><p>
</p><p>
<img src="images/tooling-manifest-form-ui-editor.png">
</p><p>
The Dependencies tab of the Bundle Manifest Editor enables the user to
easily download
and install bundles and libraries from the SpringSource Enterprise Bundle Repository
by using the "Download..." buttons next to the "Import Bundle" and
"Import Library"
sections.
</p></div></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="pars"></a>6.&nbsp;Developing PARs</h2></div></div></div><p>
In Virgo, applications consisting of multiple bundles can be
packaged as a PAR.
</p><p>
To create a PAR, right-click in the
<span class="emphasis"><em>Package Explorer</em></span>
and select
<span class="guimenu">New</span> &#8594; <span class="guimenuitem">Project&#8230;</span>
. In the dialog that opens select
<span class="guimenu">EclipseRT</span> &#8594; <span class="guimenuitem">PAR Project</span>
and press
<span class="emphasis"><em>Next</em></span>
:
</p><div class="mediaobject" align="center"><img src="images/new-par-project.png" align="middle"></div><p>
</p><p>
In the New PAR Project dialog, ensure the
<span class="emphasis"><em>Use default location</em></span>
option is unchecked,
enter a suitable name for the project, set the location to a suitable
directory,
and press
<span class="emphasis"><em>Next</em></span>
. For example, the Greenpages sample PAR project would look like this:
</p><div class="mediaobject" align="center"><img src="images/create-par-project.png" align="middle"></div><p>
</p><p>
In the next dialog, some of the PAR properties are pre-populated.
Set the Application Name and the Version as appropriate, then
ensure that the
<span class="emphasis"><em>Target Runtime</em></span>
is set to
<span class="emphasis"><em>Virgo Web Server (Runtime) ...</em></span>
and press
<span class="emphasis"><em>Next</em></span>
.
For example:
</p><div class="mediaobject" align="center"><img src="images/par-content.png" align="middle"></div><p>
</p><p>
In the next dialog, select the bundles so that they are contained in
the PAR and press
<span class="emphasis"><em>Finish</em></span>
.
For example:
</p><div class="mediaobject" align="center"><img src="images/bundle-references.png" align="middle"></div><p>
</p><p>
The PAR project is then created.
</p></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="deploying"></a>7.&nbsp;Deploying Applications</h2></div></div></div><p>
Currently the Tools support direct deployment of WTP Dynamic Web Projects, OSGi
bundle and PAR projects to the VTS from
directly within Eclipse.
</p><p>
To deploy an application to the Virgo Server for Apache Tomcat just bring up the
context menu on the configured
VTS runtime in the Servers view and choose "Add or Remove Projects...".
In the
dialog, select the desired project and add it to the list of "Configured
projects".
</p><p>
<img src="images/tooling-deployed-application.png">
</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.gif"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
Deploying and undeploying an application from the VTS
certainly works
while the Virgo Server for Apache Tomcat is running, but you can also add or remove
projects if the
VTS is not running.
</p></td></tr></table></div><p>
Once an application is deployed on the Virgo Server for Apache Tomcat the tooling
support will automatically
pick up any change to source files -- for example, Java and XML context
files -- and refresh the
deployed application on the VTS.
</p><p>
The wait time between a change and the actual refresh can be configured
in the configuration editor of the runtime. To bring up that editor,
double-click on the configured Virgo Server for Apache Tomcat instance in the
Servers view.
</p></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e412"></a>8.&nbsp;Installation and Release Notes</h2></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Features"></a>8.1&nbsp;Features</h2></div></div></div><p>The Virgo Tooling/IDE concept concerns the whole Virgo tooling (that was available inside SpringSource Tool Suite) being put in a separate project. The tooling supports the following: </p><div class="itemizedlist"><ul type="disc"><li><p>Bundle projects </p></li><li><p>Par projects </p></li><li><p>Plan files/projects </p></li><li><p>Web Bundles </p></li><li><p>Deployment to a Virgo Server in the server view.</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Installation"></a>8.2&nbsp;Installation</h2></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Install_Eclipse"></a>Install Eclipse</h3></div></div></div><p>If you're not installing into an existing Eclipse, you'll need one. </p><div class="itemizedlist"><ul type="disc"><li><p>Eclipse Helios SR2, or </p></li><li><p>Eclipse Indigo</p></li></ul></div><p>Eclipse JEE Indigo recommended.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Install_Virgo"></a>Install Virgo</h3></div></div></div><div class="orderedlist"><ol type="1"><li><p>Select
<span class="italic">Help&gt;Install New Software..</span>
</p></li><li><p>Enter one of the Virgo update sites below.</p></li><li><p>Select "Virgo Tools" feature and click install.</p></li></ol></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Update_Sites"></a>Update Sites</h3></div></div></div><p>
<span class="bold"><strong>Note, M4 is not quite here yet, so as of the moment you should use the snapshot build, not the milestone. As soon as M3 is formally released, this will change.</strong></span>
</p><div class="variablelist"><dl><dt><span class="term">Milestone: &lt;code&gt;
<a class="ulink" href="http://download.eclipse.org/virgo/milestone/tooling&amp;lt;/code&amp;gt" target="_top">http://download.eclipse.org/virgo/milestone/tooling&amp;lt;/code&amp;gt</a>;
</span></dt><dd></dd><dt><span class="term">Snapshot: &lt;code&gt;
<a class="ulink" href="http://download.eclipse.org/virgo/snapshot/tooling&amp;lt;/code&amp;gt" target="_top">http://download.eclipse.org/virgo/snapshot/tooling&amp;lt;/code&amp;gt</a>;
</span></dt><dd></dd></dl></div><p>Many users will also want to install the M2E release at: &lt;code&gt;
<a class="ulink" href="http://download.eclipse.org/technology/m2e/releases&amp;lt;/code&amp;gt" target="_top">http://download.eclipse.org/technology/m2e/releases&amp;lt;/code&amp;gt</a>;. (e.g. in order to run the greenpages examples.)
</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Known_Issues"></a>8.3&nbsp;Known Issues</h2></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="M4_Candidate_.28Current_Snapshot.29"></a>M4 Candidate (Current Snapshot)</h3></div></div></div><p>
<span class="bold"><strong>The Virgo tools currently do not support Eclipse 3.6 (Helios) and derived Spring Source products.</strong></span> Please see:
<a class="ulink" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=377236" target="_top">https://bugs.eclipse.org/bugs/show_bug.cgi?id=377236</a>.
</p><p>Significant bugs still exist. Please see these release train bugs for a current list, and please report any other issues you discover:</p><div class="itemizedlist"><ul type="disc"><li><p>368783: Server management UI bug train
<a class="ulink" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=368783" target="_top">https://bugs.eclipse.org/bugs/show_bug.cgi?id=368783</a>
</p></li><li><p>368785: Server runtime support bug train
<a class="ulink" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=368785" target="_top">https://bugs.eclipse.org/bugs/show_bug.cgi?id=368785</a>
</p></li><li><p>368782: Plugin packaging issues bug train
<a class="ulink" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=368782" target="_top">https://bugs.eclipse.org/bugs/show_bug.cgi?id=368782</a>
</p></li></ul></div><p>You can see all open bugs
<a class="ulink" href="https://bugs.eclipse.org/bugs/buglist.cgi?list_id=1289794;query_format=advanced;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;component=tooling;product=Virgo" target="_top">here</a>.
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="M3"></a>M3</h3></div></div></div><p>There wasn't one. :) We're moving to M4 to more closely align with Virgo Runtime releases.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Milestone_M2"></a>Milestone M2</h3></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="Version_Compatibility"></a>Version Compatibility</h4></div></div></div><p>The milestone does not work well with the current milestone of the runtime environment ("3.1.0" / 3.5.0). Please target the 3.0.2 Release Virgo Runtime or use the current milestone.</p></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Notes"></a>8.4&nbsp;Notes</h2></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Web_Application_Bundles"></a>Web Application Bundles</h3></div></div></div><p>To create a web application bundle choose to create a normal bundle project, but on the Bundle Content panel select the additional property entitled "Web Application Bundle". On the Bundle Properties panel enter a suitable context path for the application as the Web-ContextPath. </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Bundlor"></a>Bundlor</h3></div></div></div><p>Bundlor is not used by default, you must create you own template file and then turn on incremental manifest generation. </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="PDE.2FEquinox_Bundles_not_supported_yet"></a>PDE/Equinox Bundles not supported yet</h3></div></div></div><p>Deploying PDE/Equinox Bundles to Virgo Web Server are not yet supported yet, although exporting the bundles (as Eclipse Plug-in JARs) and manually deploying to Virgo Web Server works. Please show your support on
<a class="ulink" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=329198" target="_top">Bugzilla #329198</a>.
</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Migration"></a>8.5&nbsp;Migration</h2></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="From_Pre_M2_to_M3"></a>From Pre M2 to M3</h3></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="Server_Versions"></a>Server Versions</h4></div></div></div><p>The good news: We have done away with the need for managing multiple server versions. This also means that we won't have to support multiple WebTools Server Runtimes and Servers which will make adding new servers and variants much easier. See
<a class="ulink" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=373453" target="_top">https://bugs.eclipse.org/bugs/show_bug.cgi?id=373453</a> for more details.
</p><p>The bad news: Any Server Runtimes that you already created for Virgo Server 3.5 will not work. But since Virgo Tooling didn't work with Virgo Server 3.5 *anyway*, this is sort of a moot issue.</p><p>What to do: If you have an existing (i.e., created using Virgo IDE installed before 10 March 2012) Virgo Server 3.5 Runtime defined, just delete it and replace it with a new Virgo Runtime in
<span class="italic">Preferences:Server:Runtime Environments</span>. You'll see that the correct version is discovered automatically. Then, open any Servers that uses the old runtime and select the new one from the Runtime Environment popup menu.
</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="From_Spring_Source_and_Virgo_2.x_Tooling"></a>From Spring Source and Virgo 2.x Tooling</h3></div></div></div><p>Moving from the old tooling to the new requires some changes to your existing projects, these are documented here. </p><p>The Bundlor .settings file has a new name (
<span class="italic">com.springsource.server.ide.bundlor.core.prefs</span> -&amp;gt;
<span class="italic">org.eclipse.virgo.ide.bundlor.core.prefs</span>) and the property keys in it have new names as well. Currently these just need to be changed manually (replace
<span class="italic">com.springsource.server</span> by
<span class="italic">org.eclipse.virgo</span>)
<span class="bold"><strong>or use the project properties pane to create new settings and delete the old one.</strong></span> (recommended)
</p><p>The Bundle Dependencies classpath entry has a new name (
<span class="italic">com.springsource.server.ide.jdt.core.MANIFEST_CLASSPATH_CONTAINER</span> -&amp;gt;
<span class="italic">org.eclipse.virgo.ide.jdt.core.MANIFEST_CLASSPATH_CONTAINER</span>). This can be changed manually (in the .classpath file) or in the Java Build Path section of the project properties.
</p><p>The attributes used to mark folders as test folders have been renamed (
<span class="italic">com.springsource.server.ide.jdt.core.test.classpathentry</span> -&amp;gt;
<span class="italic">org.eclipse.virgo.ide.jdt.core.test.classpathentry</span>). This can be changed manually (in the .classpath file).
</p><p>The PAR and Bundle nature have been renamed (
<span class="italic">com.springsource.server.ide.facet.core.bundlenature</span> -&amp;gt;
<span class="italic">org.eclipse.virgo.ide.facet.core.bundlenature</span> and (
<span class="italic">com.springsource.server.ide.facet.core.parnature</span> -&amp;gt;
<span class="italic">org.eclipse.virgo.ide.facet.core.parnature</span>)). This can be changed manually (in the .project file).
</p><p>The format and name of a PAR project changed. Rename
<span class="italic">.settings/com.springsource.server.ide.runtime.core.par.xml</span> to
<span class="italic">.settings/org.eclipse.virgo.ide.runtime.core.par.xml</span>. Inside the file rename occurences of
<span class="italic">com.springsource.server</span> to
<span class="italic">org.eclipse.virgo</span>.
</p><p>
<span class="bold"><strong>Snapshot build change:</strong></span> We've made a change in our tooling that will require modifying the org.eclipse.virgo.ide.runtime.core.par.xml file so that it points to the correct par.ecore URI. Rename
<span class="italic">xmlns:com.springsource.server.ide.par="
<a class="ulink" href="http:///com/springsource/server/ide/par.ecore&amp;quot" target="_top">http:///com/springsource/server/ide/par.ecore&amp;quot</a>;
</span> to
<span class="italic">"xmlns:org.eclipse.virgo.ide.par="
<a class="ulink" href="http://eclipse.org/virgo/par.ecore&amp;quot" target="_top">http://eclipse.org/virgo/par.ecore&amp;quot</a>;
</span>
</p><p>Inside the WST settings file (
<span class="italic">.settings/org.eclipse.wst.common.project.facet.core.xml</span>) rename occurences of
<span class="italic">com.springsource.server.bundle</span> to
<span class="italic">org.eclipse.virgo.server.bundle</span> and occurences of
<span class="italic">com.springsource.server.par</span> to
<span class="italic">org.eclipse.virgo.server.par</span>.
</p><p>Most/all of the conversion should be done by the following script (it has only see marginal testing, use at your own risk):
&lt; pre&gt;#!/bin/sh</p><div class="orderedlist"><ol type="1"><li><p>NOTE1: Run this at your own risk&amp;nbsp;:)</p></li><li><p>NOTE2: I should quote more dots in sed expressions but I'm lazy.</p></li><li><p>TODO: Delete old com.springsource files after conversion</p></li></ol></div><p>if
<a class="ulink" href="&amp;amp;nbsp;!" target="_top">-d &amp;quot;$1&amp;quot; </a>; then
</p><div class="literallayout"><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;&amp;quot;Please&nbsp;point&nbsp;me&nbsp;at&nbsp;an&nbsp;eclipse&nbsp;project&amp;quot;&amp;amp;nbsp;;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;1<br>
</p></div><p>fi</p><div class="orderedlist"><ol type="1"><li><p>Bundlor settings</p></li></ol></div><p>f="$1/.settings/com.springsource.server.ide.bundlor.core.prefs"
[ -f "$f" ] &amp;amp;&amp;amp; (</p><div class="literallayout"><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;&amp;quot;$1:&nbsp;Converting&nbsp;bundlor&nbsp;preferences&amp;quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sed&nbsp;-e&nbsp;'s/com\.springsource\.server/org.eclipse.virgo/g'&nbsp;&amp;quot;$f&amp;quot;&nbsp;&amp;amp;gt;&nbsp;&amp;quot;$(echo&nbsp;$f&nbsp;|&nbsp;sed&nbsp;-e&nbsp;s/com.springsource.server/org.eclipse.virgo/)&amp;quot;<br>
</p></div><p>)</p><div class="orderedlist"><ol type="1"><li><p>convert PAR</p></li></ol></div><p>f="$1/.settings/com.springsource.server.ide.runtime.core.par.xml"
[ -f "$f" ] &amp;amp;&amp;amp; (</p><div class="literallayout"><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;&amp;quot;$1:&nbsp;Converting&nbsp;PAR&nbsp;project&nbsp;dependencies&amp;quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sed&nbsp;-e&nbsp;'s/com\.springsource\.server/org.eclipse.virgo/g'&nbsp;&amp;quot;$f&amp;quot;&nbsp;&amp;amp;gt;&nbsp;&amp;quot;$(echo&nbsp;$f&nbsp;|&nbsp;sed&nbsp;-e&nbsp;s/com.springsource.server/org.eclipse.virgo/)&amp;quot;<br>
</p></div><p>)</p><div class="orderedlist"><ol type="1"><li><p>Fix classpaths </p></li></ol></div><p>f="$1/.classpath"
[ -f "$f" ] &amp;amp;&amp;amp; (</p><div class="literallayout"><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;&amp;quot;$1:&nbsp;Converting&nbsp;classpath&nbsp;containers&nbsp;and&nbsp;entries&amp;quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sed&nbsp;-i&nbsp;\<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-e&nbsp;'s/com.springsource.server.ide.jdt.core.MANIFEST_CLASSPATH_CONTAINER/org.eclipse.virgo.ide.jdt.core.MANIFEST_CLASSPATH_CONTAINER/g'&nbsp;\<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-e&nbsp;'s/com.springsource.server.ide.jdt.core.test.classpathentry/org.eclipse.virgo.ide.jdt.core.test.classpathentry/g'&nbsp;\<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;quot;$f&amp;quot;<br>
</p></div><p>)</p><div class="orderedlist"><ol type="1"><li><p>Fix natures..</p></li></ol></div><p>f="$1/.project"
[ -f "$f" ] &amp;amp;&amp;amp; (</p><div class="literallayout"><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;&amp;quot;$1:&nbsp;Converting&nbsp;project&nbsp;natures&amp;quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sed&nbsp;-i&nbsp;\<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-e&nbsp;'s/com.springsource.server.ide.facet.core.bundlenature/org.eclipse.virgo.ide.facet.core.bundlenature/g'&nbsp;\<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-e&nbsp;'s/com.springsource.server.ide.facet.core.parnature/org.eclipse.virgo.ide.facet.core.parnature/g'&nbsp;\<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;quot;$f&amp;quot;<br>
</p></div><p>)</p><div class="orderedlist"><ol type="1"><li><p>Fix the wst file, could also replace runtime name here</p></li></ol></div><p>f="$1/.settings/org.eclipse.wst.common.project.facet.core.xml"
[ -f "$f" ] &amp;amp;&amp;amp; (</p><div class="literallayout"><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;&amp;quot;$1:&nbsp;Converting&nbsp;org.eclipse.wst.common.project.facet.core.xml&amp;quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sed&nbsp;-i&nbsp;\<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-e&nbsp;'s/com.springsource.server.bundle/org.eclipse.virgo.server.bundle/g'&nbsp;&nbsp;\<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-e&nbsp;'s/com.springsource.server.par/org.eclipse.virgo.server.par/g'&nbsp;&nbsp;\<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;quot;$f&amp;quot;<br>
</p></div><p>)</p><p>&lt;/pre&gt;</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Maven_plugin"></a>8.6&nbsp;Maven plugin</h2></div></div></div><p>To support the development of OSGi bundles for Eclipse Virgo with Maven a Maven plugin is available. This plugin is able to start/stop a local Eclipse Virgo instance. Moreover it is possible to deploy/undeploy/refresh bundles via Maven. </p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Build"></a>Build</h3></div></div></div><p>In order to use the plugin one has to download the source code from
<a class="ulink" href="https://github.com/frieder/virgo-maven-plugin" target="_top">Github</a>&amp;nbsp;and build the binary manually. This can be easily done by executing the following Maven command in the root folder of the plugin where the pom.xml file is located.
&lt; pre&gt;mvn clean install&lt;/pre&gt;
Moreover to generate the documentation just execute the following Maven command (or take the one provided in the repository on Github).
&lt; pre&gt;mvn clean&amp;nbsp;plugin:xdoc javadoc:javadoc jxr:jxr site
&lt; /pre&gt;
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Goals"></a>Goals</h3></div></div></div><p>The plugin provides a set of Maven goals that allow different actions. </p><table><tr>
<td rowspan="1" colspan="1">
<span class="bold"><strong>Goal</strong></span>
</td>
<td rowspan="1" colspan="1">
<span class="bold"><strong>Description</strong></span>
</td>
</tr><tr>
<td rowspan="1" colspan="1">&lt;code&gt;virgo:start&lt;/code&gt; </td>
<td rowspan="1" colspan="1">Starts a Virgo instance by executing the provided startup script. &lt;br&gt; </td>
</tr><tr>
<td rowspan="1" colspan="1">&lt;code&gt;virgo:shutdown&lt;/code&gt; </td>
<td rowspan="1" colspan="1">Stops a running Virgo instance.</td>
</tr><tr>
<td rowspan="1" colspan="1">&lt;code&gt;virgo:immediateShutdown&lt;/code&gt; </td>
<td rowspan="1" colspan="1">Stops a running Virgo instance immediately.</td>
</tr><tr>
<td rowspan="1" colspan="1">&lt;code&gt;virgo:deploy&lt;/code&gt; </td>
<td rowspan="1" colspan="1">Deploys an OSGi bundle to a running Virgo instance.</td>
</tr><tr>
<td rowspan="1" colspan="1">&lt;code&gt;virgo:undeploy&lt;/code&gt; </td>
<td rowspan="1" colspan="1">Undeploys an OSGi bundle from a running Virgo instance.</td>
</tr><tr>
<td rowspan="1" colspan="1">&lt;code&gt;virgo:refresh&lt;/code&gt; </td>
<td rowspan="1" colspan="1">Refreshs an already installed module on a running Virgo instance.</td>
</tr><tr>
<td rowspan="1" colspan="1">&lt;code&gt;virgo:bundleRefresh&lt;/code&gt; </td>
<td rowspan="1" colspan="1">Refreshs an already installed OSGi bundle on a running Virgo instance.</td>
</tr></table></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Simple_example_POM"></a>Simple example POM</h3></div></div></div><p>Once the plugin has been build and installed in the local Maven repository it can be used within a Maven project. Following is a simple example of a pom file that uses the Maven plugin.&amp;nbsp;
&lt; pre&gt;&amp;lt;project xmlns="
<a class="ulink" href="http://maven.apache.org/POM/4.0.0&amp;quot" target="_top">http://maven.apache.org/POM/4.0.0&amp;quot</a>; xmlns:xsi="
<a class="ulink" href="http://www.w3.org/2001/XMLSchema-instance&amp;quot" target="_top">http://www.w3.org/2001/XMLSchema-instance&amp;quot</a>;
xsi:schemaLocation="
<a class="ulink" href="http://maven.apache.org/POM/4.0.0" target="_top">http://maven.apache.org/POM/4.0.0</a>
<a class="ulink" href="http://maven.apache.org/xsd/maven-4.0.0.xsd&amp;quot;&amp;amp;gt" target="_top">http://maven.apache.org/xsd/maven-4.0.0.xsd&amp;quot;&amp;amp;gt</a>;
&amp;lt;modelVersion&amp;gt;4.0.0&amp;lt;/modelVersion&amp;gt;
&amp;lt;groupId&amp;gt;org.example.osgi&amp;lt;/groupId&amp;gt;
&amp;lt;artifactId&amp;gt;test-bundle&amp;lt;/artifactId&amp;gt;
&amp;lt;version&amp;gt;0.0.1-SNAPSHOT&amp;lt;/version&amp;gt;
&amp;lt;packaging&amp;gt;bundle&amp;lt;/packaging&amp;gt;
&amp;lt;name&amp;gt;OSGi Test Bundle&amp;lt;/name&amp;gt;
&amp;lt;properties&amp;gt;
&amp;lt;project.build.sourceEncoding&amp;gt;UTF-8&amp;lt;/project.build.sourceEncoding&amp;gt;
&amp;lt;/properties&amp;gt;
&amp;lt;build&amp;gt;
&amp;lt;plugins&amp;gt;
&amp;lt;plugin&amp;gt;
&amp;lt;groupId&amp;gt;org.apache.felix&amp;lt;/groupId&amp;gt;
&amp;lt;artifactId&amp;gt;maven-bundle-plugin&amp;lt;/artifactId&amp;gt;
&amp;lt;version&amp;gt;2.3.6&amp;lt;/version&amp;gt;
&amp;lt;extensions&amp;gt;true&amp;lt;/extensions&amp;gt;
&amp;lt;configuration&amp;gt;
&amp;lt;instructions&amp;gt;
&amp;lt;Bundle-SymbolicName&amp;gt;${project.groupId}.${project.artifactId}&amp;lt;/Bundle-SymbolicName&amp;gt;
&amp;lt;Bundle-Name&amp;gt;${project.name}&amp;lt;/Bundle-Name&amp;gt;
&amp;lt;Bundle-Version&amp;gt;${project.version}&amp;lt;/Bundle-Version&amp;gt;
&amp;lt;/instructions&amp;gt;
&amp;lt;/configuration&amp;gt;
&amp;lt;/plugin&amp;gt;
&amp;lt;plugin&amp;gt;
&amp;lt;groupId&amp;gt;net.flybyte.virgo&amp;lt;/groupId&amp;gt;
&amp;lt;artifactId&amp;gt;virgo-maven-plugin&amp;lt;/artifactId&amp;gt;
&amp;lt;version&amp;gt;1.0.0&amp;lt;/version&amp;gt;
&amp;lt;configuration&amp;gt;
&amp;lt;virgoRoot&amp;gt;C:/Java/virgo-tomcat-server-3.0.2.RELEASE&amp;lt;/virgoRoot&amp;gt;
&amp;lt;/configuration&amp;gt;
&amp;lt;/plugin&amp;gt;
&amp;lt;/plugins&amp;gt;
&amp;lt;/build&amp;gt;
&amp; lt;/project&amp;gt;
&lt; /pre&gt;
More examples can be found in the documentation. Following are some exemplary Maven commands.
&lt; pre&gt;mvn virgo:start &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;-- will start a Virgo instance
mvn clean package virgo:deploy &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;-- will create an artifact and deploy it to Virgo&lt;/pre&gt;
</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Importing_Virgo_Projects_into_Eclipse"></a>8.7&nbsp;Importing Virgo Projects into Eclipse</h2></div></div></div><p>See
<a class="ulink" href="http://wiki.eclipse.org/Virgo/Committers#Eclipse_Setup" target="_top">Eclipse Setup</a> under the Committers tab.
</p><p>
<a class="ulink" href="/wiki/Category:Virgo" target="_top">Category:Virgo</a>
<a class="ulink" href="/wiki/Category:EclipseRT" target="_top">Category:EclipseRT</a>&lt;/rev&gt;&lt;/revisions&gt;&lt;/page&gt;&lt;/pages&gt;&lt;/query&gt;&lt;/api&gt;
</p></div></div></div><!--Begin LoopFuse code--><script src="http://loopfuse.net/webrecorder/js/listen.js" type="text/javascript"></script><script type="text/javascript">
_lf_cid = "LF_48be82fa";
_lf_remora();
</script><!--End LoopFuse code--></body></html>