complexType Model

complexType {http://maven.apache.org/POM/3.0.0}Model

Derived Types
{http://maven.apache.org/POM/3.0.0}Model
 {http://maven.apache.org/POM/3.0.0}project (by type)
Abstractfalse (This can be used in an instance)
Target Namespacehttp://maven.apache.org/POM/3.0.0
Declared Namespacesxmlns:xs=http://www.w3.org/2001/XMLSchema
xmlns=http://maven.apache.org/POM/3.0.0


Source

<xs:complexType name="Model">
    <
xs:annotation>
        <
xs:documentation source="version">3.0.0+</xs:documentation>
        <
xs:documentation source="description">
The <code>&lt;project&gt;</code> element specifies various attributes
about a project. This is the root element of the project descriptor.
The following table lists all of the possible child elements. Child
elements with children are then documented further in subsequent
sections.
        
</xs:documentation>
    </
xs:annotation>
    <
xs:all>
        <
xs:element name="extend" type="xs:string" minOccurs="0">
            <
xs:annotation>
                <
xs:documentation source="version">3.0.0</xs:documentation>
                <
xs:documentation source="description">
The location of the parent project, if one exists. Values from the
parent project will be the default for this project if they are
left unspecified. The path may be absolute, or relative to the
current project.xml file.

<div class="source"><pre>&lt;extend&gt;${basedir}/../project.xml&lt;/extend&gt;</pre></div>
                
</xs:documentation>
            </
xs:annotation>
        </
xs:element>
        <
xs:element name="pomVersion" type="xs:string" minOccurs="0">
            <
xs:annotation>
                <
xs:documentation source="version">3.0.0</xs:documentation>
                <
xs:documentation source="description">
The current version of the Maven project descriptor. This version
number enables Maven to automatically update an out-of-date project
descriptor when a new version is available. This version number
should not be changed after the descriptor has been created. Maven
will update it automatically.
                
</xs:documentation>
            </
xs:annotation>
        </
xs:element>
        <
xs:element name="id" type="xs:string" minOccurs="0">
            <
xs:annotation>
                <
xs:documentation source="version">3.0.0</xs:documentation>
                <
xs:documentation source="description">
The short name of the project. This value is used when naming
<a href="/plugins/java/index.html">jars</a> and
<a href="/plugins/dist/index.html">distribution files</a>.
                
</xs:documentation>
            </
xs:annotation>
        </
xs:element>
        <
xs:element name="groupId" type="xs:string" minOccurs="0">
            <
xs:annotation>
                <
xs:documentation source="version">3.0.0+</xs:documentation>
                <
xs:documentation source="description">
The short name of the project group. This value is used to group
all jars for a project in one directory. For more info look at the
<a href="/user-guide.html#Naming%20Conventions">user guide</a>.
                
</xs:documentation>
            </
xs:annotation>
        </
xs:element>
        <
xs:element name="artifactId" type="xs:string" minOccurs="0">
            <
xs:annotation>
                <
xs:documentation source="version">3.0.0+</xs:documentation>
                <
xs:documentation source="description">
The short name of the project. This value is used in conjunction
with <code>groupId</code>
when naming <a href="/plugins/java/index.html">jars</a> and
<a href="/plugins/dist/index.html">distribution files</a>.
                
</xs:documentation>
            </
xs:annotation>
        </
xs:element>
        <
xs:element name="name" type="xs:string" minOccurs="0">
            <
xs:annotation>
                <
xs:documentation source="version">3.0.0+</xs:documentation>
                <
xs:documentation source="description">
The full name of the project. This value is used when
generating <a href="/plugins/javadoc/index.html">JavaDoc</a>
titles.
                
</xs:documentation>
            </
xs:annotation>
        </
xs:element>
        <
xs:element name="currentVersion" type="xs:string" minOccurs="0">
            <
xs:annotation>
                <
xs:documentation source="version">3.0.0</xs:documentation>
                <
xs:documentation source="description">
The current version of the project. This value is used when
naming <a href="/plugins/java/index.html">jars</a> and
<a href="/plugins/dist/index.html">distribution files</a>.
                
</xs:documentation>
            </
xs:annotation>
        </
xs:element>
        <
xs:element name="shortDescription" type="xs:string" minOccurs="0">
            <
xs:annotation>
                <
xs:documentation source="version">3.0.0</xs:documentation>
                <
xs:documentation source="description">
A short description of the project. The short description should be
limited to a single line.
                
</xs:documentation>
            </
xs:annotation>
        </
xs:element>
        <
xs:element name="description" type="xs:string" minOccurs="0">
            <
xs:annotation>
                <
xs:documentation source="version">3.0.0+</xs:documentation>
                <
xs:documentation source="description">
Optional. A detailed description of the project.
This description is used as the default to generate the
<a href="/plugins/site/index.html">Mailing Lists</a> of the project's
web site, and is shown when <code>maven --usage</code> is called on
the project. While this element can be specified as CDATA to enable
the use of HTML tags within the description, you are encouraged to
provide an alternative home page using <code>xdocs/index.xml</code>
if this is required.
                
</xs:documentation>
            </
xs:annotation>
        </
xs:element>
        <
xs:element name="url" type="xs:string" minOccurs="0">
            <
xs:annotation>
                <
xs:documentation source="version">3.0.0+</xs:documentation>
                <
xs:documentation source="description">The URL to the project's homepage.</xs:documentation>
            </
xs:annotation>
        </
xs:element>
        <
xs:element name="logo" type="xs:string" minOccurs="0">
            <
xs:annotation>
                <
xs:documentation source="version">3.0.0</xs:documentation>
                <
xs:documentation source="description">
The URL to the project's logo image. This can be an URL relative
to the base directory of the generated web site,
(e.g., <code>/images/project-logo.png</code>) or an absolute URL
(e.g., <code>http://my.corp/project-logo.png</code>). This is used
when generating the project documentation.
                
</xs:documentation>
            </
xs:annotation>
        </
xs:element>
        <
xs:element name="issueTrackingUrl" type="xs:string" minOccurs="0">
            <
xs:annotation>
                <
xs:documentation source="version">3.0.0</xs:documentation>
                <
xs:documentation source="description">Optional. The URL to the project's issue tracking system.</xs:documentation>
            </
xs:annotation>
        </
xs:element>
        <
xs:element name="inceptionYear" type="xs:string" minOccurs="0">
            <
xs:annotation>
                <
xs:documentation source="version">3.0.0+</xs:documentation>
                <
xs:documentation source="description">
The year of the project's inception specified with 4 digits.
This value is used when generating
<a href="/plugins/javadoc/index.html">JavaDoc</a> copyright notices.
                
</xs:documentation>
            </
xs:annotation>
        </
xs:element>
        <
xs:element name="gumpRepositoryId" type="xs:string" minOccurs="0">
            <
xs:annotation>
                <
xs:documentation source="version">3.0.0</xs:documentation>
                <
xs:documentation source="description">
Optional. This is the Id of the Gump repository that this project is
part of (assuming it participates in the Gump integration
effort).
                
</xs:documentation>
            </
xs:annotation>
        </
xs:element>
        <
xs:element name="siteAddress" type="xs:string" minOccurs="0">
            <
xs:annotation>
                <
xs:documentation source="version">3.0.0</xs:documentation>
                <
xs:documentation source="description">
Optional. The hostname of the web server that hosts the project's web
site. This is used when the web site is
<a href="/plugins/site/index.html">deployed</a>.
                
</xs:documentation>
            </
xs:annotation>
        </
xs:element>
        <
xs:element name="siteDirectory" type="xs:string" minOccurs="0">
            <
xs:annotation>
                <
xs:documentation source="version">3.0.0</xs:documentation>
                <
xs:documentation source="description">
Optional. The directory on the web server where the public web site
for this project resides. This is used when the web site is
<a href="/plugins/site/index.html">deployed</a>.
                
</xs:documentation>
            </
xs:annotation>
        </
xs:element>
        <
xs:element name="distributionSite" type="xs:string" minOccurs="0">
            <
xs:annotation>
                <
xs:documentation source="version">3.0.0</xs:documentation>
                <
xs:documentation source="description">
Optional. The server server where the final
distributions will be published. This is used when the
distributions are
<a href="/plugins/dist/index.html">deployed</a>.
<p>
If this isn't defined, the central repository is used instead as
determined by <code>maven.repo.central</code> and
<code>maven.repo.central.directory</code>
</p>
                
</xs:documentation>
            </
xs:annotation>
        </
xs:element>
        <
xs:element name="distributionDirectory" type="xs:string" minOccurs="0">
            <
xs:annotation>
                <
xs:documentation source="version">3.0.0</xs:documentation>
                <
xs:documentation source="description">
Optional. The directory on the web server where the final
distributions will be published. This is used when the
distributions are
<a href="/plugins/dist/index.html">deployed</a>.
                
</xs:documentation>
            </
xs:annotation>
        </
xs:element>
        <
xs:element name="mailingLists" minOccurs="0">
            <
xs:annotation>
                <
xs:documentation source="version">3.0.0+</xs:documentation>
                <
xs:documentation source="description">
Contains information about a project's mailing lists. This
is used to generate the <a href="/plugins/site/index.html">front
page</a> of the site's web site.
                
</xs:documentation>
            </
xs:annotation>
            <
xs:complexType>
                <
xs:sequence>
                    <
xs:element name="mailingList" type="MailingList" minOccurs="0"
                        
maxOccurs="unbounded"/>
                </
xs:sequence>
            </
xs:complexType>
        </
xs:element>
        <
xs:element name="developers" minOccurs="0">
            <
xs:annotation>
                <
xs:documentation source="version">3.0.0+</xs:documentation>
                <
xs:documentation source="description">
Describes the committers to a project. This is used to
generate the <a href="/plugins/site/index.html">Project Team</a>
page of the project's web site.
                
</xs:documentation>
            </
xs:annotation>
            <
xs:complexType>
                <
xs:sequence>
                    <
xs:element name="developer" type="Developer" minOccurs="0" maxOccurs="unbounded"/>
                </
xs:sequence>
            </
xs:complexType>
        </
xs:element>
        <
xs:element name="contributors" minOccurs="0">
            <
xs:annotation>
                <
xs:documentation source="version">3.0.0+</xs:documentation>
                <
xs:documentation source="description">
Describes the contributors to a project. This is used to generate
the <a href="/plugins/site/index.html">Project Team</a> page of
the project's web site.
                
</xs:documentation>
            </
xs:annotation>
            <
xs:complexType>
                <
xs:sequence>
                    <
xs:element name="contributor" type="Contributor" minOccurs="0"
                        
maxOccurs="unbounded"/>
                </
xs:sequence>
            </
xs:complexType>
        </
xs:element>
        <
xs:element name="licenses" minOccurs="0">
            <
xs:annotation>
                <
xs:documentation source="version">3.0.0+</xs:documentation>
                <
xs:documentation source="description">
This element describes all of the licenses for this project.
Each license is described by a <code>license</code> element, which
is then described by additional elements (described below). The
auto-generated site documentation references this information.
Projects should only list the license(s) that applies to the project
and not the licenses that apply to dependencies.
                
</xs:documentation>
            </
xs:annotation>
            <
xs:complexType>
                <
xs:sequence>
                    <
xs:element name="license" type="License" minOccurs="0" maxOccurs="unbounded"/>
                </
xs:sequence>
            </
xs:complexType>
        </
xs:element>
        <
xs:element name="versions" minOccurs="0">
            <
xs:annotation>
                <
xs:documentation source="version">3.0.0</xs:documentation>
                <
xs:documentation source="description">
Optional. Contains information on previous versions of the
project. This information is used when invoking the
<a href="/plugins/dist/index.html"><code>maven:dist</code></a>
target.
                
</xs:documentation>
            </
xs:annotation>
            <
xs:complexType>
                <
xs:sequence>
                    <
xs:element name="version" type="Version" minOccurs="0" maxOccurs="unbounded"/>
                </
xs:sequence>
            </
xs:complexType>
        </
xs:element>
        <
xs:element name="branches" minOccurs="0">
            <
xs:annotation>
                <
xs:documentation source="version">3.0.0</xs:documentation>
                <
xs:documentation source="description">
Optional. Contains information on branches of the
project. This information is used when invoking the
<a href="/plugins/dist/index.html"><code>maven:dist</code></a>
target.
                
</xs:documentation>
            </
xs:annotation>
            <
xs:complexType>
                <
xs:sequence>
                    <
xs:element name="branch" type="Branch" minOccurs="0" maxOccurs="unbounded"/>
                </
xs:sequence>
            </
xs:complexType>
        </
xs:element>
        <
xs:element name="packageGroups" minOccurs="0">
            <
xs:annotation>
                <
xs:documentation source="version">3.0.0</xs:documentation>
                <
xs:documentation source="description">Package groups required for complete javadocs.</xs:documentation>
            </
xs:annotation>
            <
xs:complexType>
                <
xs:sequence>
                    <
xs:element name="packageGroup" type="PackageGroup" minOccurs="0"
                        
maxOccurs="unbounded"/>
                </
xs:sequence>
            </
xs:complexType>
        </
xs:element>
        <
xs:element name="reports" minOccurs="0">
            <
xs:annotation>
                <
xs:documentation source="version">3.0.0</xs:documentation>
                <
xs:documentation source="description">
This element includes the specification of reports to be
included in a Maven-generated site. These reports will be run
when a user executes <code>maven site</code>. All of the
reports will be included in the navigation bar for browsing in
the order they are specified.
                
</xs:documentation>
            </
xs:annotation>
            <
xs:complexType>
                <
xs:sequence>
                    <
xs:element name="report" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
                </
xs:sequence>
            </
xs:complexType>
        </
xs:element>
        <
xs:element name="repository" type="Repository" minOccurs="0">
            <
xs:annotation>
                <
xs:documentation source="version">3.0.0</xs:documentation>
                <
xs:documentation source="description">Specification for the SCM used by the project.</xs:documentation>
            </
xs:annotation>
        </
xs:element>
        <
xs:element name="organization" type="Organization" minOccurs="0">
            <
xs:annotation>
                <
xs:documentation source="version">3.0.0+</xs:documentation>
                <
xs:documentation source="description">
This element describes various attributes of the organization to
which the project belongs. These attributes are utilized when
documentation is created (for copyright notices and links).
                
</xs:documentation>
            </
xs:annotation>
        </
xs:element>
        <
xs:element name="properties" minOccurs="0">
            <
xs:annotation>
                <
xs:documentation source="version">3.0.0</xs:documentation>
                <
xs:documentation source="description">Project properties that will be used by various plugins</xs:documentation>
            </
xs:annotation>
            <
xs:complexType>
                <
xs:sequence>
                    <
xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
                </
xs:sequence>
            </
xs:complexType>
        </
xs:element>
        <
xs:element name="package" type="xs:string" minOccurs="0">
            <
xs:annotation>
                <
xs:documentation source="version">3.0.0</xs:documentation>
                <
xs:documentation source="description">
The Java package name of the project. This value is used
when generating <a href="/plugins/javadoc/index.html">JavaDoc</a>.
                
</xs:documentation>
            </
xs:annotation>
        </
xs:element>
        <
xs:element name="build" type="Build" minOccurs="0">
            <
xs:annotation>
                <
xs:documentation source="version">3.0.0+</xs:documentation>
                <
xs:documentation source="description">Information required to build the project.</xs:documentation>
            </
xs:annotation>
        </
xs:element>
        <
xs:element name="dependencies" minOccurs="0">
            <
xs:annotation>
                <
xs:documentation source="version">3.0.0+</xs:documentation>
                <
xs:documentation source="description">
<p>
This element describes all of the dependencies associated with a
project. Each dependency is described by a
<code>dependency</code> element, which is then described by
additional elements (described below).
</p>
<p>
These dependencies are used to construct a classpath for your
project during the build process.
</p>
<p>
Maven can automatically download these dependencies from a
<a href="/user-guide.html#Remote%20Repository%20Layout">remote repository</a>.
</p>
<p>
The filename that Maven downloads from the repository is
<code>artifactId-version.jar</code> where <code>artifactId</code>
corresponds to the <code>artifactId</code> element and
<code>version</code> corresponds to the <code>version</code> element.
</p>
<p>
When Maven goes looking for a dependency in the remote repository,
it uses the dependency element to construct the URL to download
from. This URL is defined as:
</p>
<div class="source">
<pre>${repo}/${groupId}/${type}s/${artifactId}-${version}.${type}</pre>
</div>
<p>
Where
</p>
<dl>
<dt>repo</dt>
<dd>
is the remote repository URL specified by
<code>${maven.repo.remote}</code>
</dd>

<dt>groupId</dt>
<dd>is taken from the dependency element</dd>

<dt>type</dt>
<dd>is taken from the dependency element</dd>

<dt>artifactId</dt>
<dd>is taken from the dependency element</dd>

<dt>version</dt>
<dd>is taken from the dependency element</dd>
</dl>
                
</xs:documentation>
            </
xs:annotation>
            <
xs:complexType>
                <
xs:sequence>
                    <
xs:element name="dependency" type="Dependency" minOccurs="0"
                        
maxOccurs="unbounded"/>
                </
xs:sequence>
            </
xs:complexType>
        </
xs:element>
    </
xs:all>
</
xs:complexType>


Documentation

See also: version
3.0.0+
See also: description
The <code>&lt;project&gt;</code> element specifies various attributes
about a project. This is the root element of the project descriptor.
The following table lists all of the possible child elements. Child
elements with children are then documented further in subsequent
sections.


complexType Model


Stylus Studio XML Schema Library Home
Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio®, a product from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2006 All Rights Reserved.