blob: 0975af31f0292666a174a4f988dbfe515c8cfa52 [file] [log] [blame]
<?xml version="1.0"?>
<!--
~ Copyright 2006 The Apache Software Foundation.
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<faqs id="FAQ" title="Frequently Asked Questions">
<part id="General">
<faq id="What is Archetype?">
<question>
What is Archetype?
</question>
<answer>
<p>In short, Archetype is a Maven project templating toolkit. An
archetype is defined as <i>an original pattern or model from which all
other things of the same kind are made</i>. The names fits as we are
trying to provide a system that provides a consistent means of
generating Maven projects. Archetype will help authors create Maven
project templates for users, and provides users with the means to
generate parameterized versions of those project templates.</p>
<p>Using archetypes provides a great way to enable developers quickly in
a way consistent with best practices employed by your project or
organization. Within the Maven project we use archetypes to try and get
our users up and running as quickly as possible by providing a sample
project that demonstrates many of the features of Maven while
introducing new users to the best practices employed by Maven. In a
matter of seconds a new user can have a working Maven project to use as
a jumping board for investigating more of the features in Maven. We have
also tried to make the Archetype mechanism additive and by that we mean
allowing portions of a project to be captured in an archetype so that
pieces or aspects of a project can be added to existing projects. A good
example of this is the Maven site archetype. If, for example, you have
used the quick start archetype to generate a working project you can
then quickly create a site for that project by using the site archetype
within that existing project. You can do anything like this with
archetypes. </p>
<p>You may want to standardize J2EE development within your organization
so you may want to provide archetypes for EJBs, or WARs, or for your web
services. Once these archetypes are created and deployed in your
organization's repository they are available for use by all developers
within your organization.</p>
</answer>
</faq>
<faq id="What makes up an Archetype?">
<question>
What makes up an Archetype?
</question>
<answer>
<p>Archetypes are packaged up in a JAR and they consist of the archetype
metadata which describes the contents of archetype and a set of
<a href = "http://jakarta.apache.org/velocity">Velocity </a> templates
which make up the prototype project. If you would like to know how to
make your own archetypes please refer to our <a href =
"http://maven.apache.org/guides/mini/guide-creating-archetypes.html">
Guide to creating archetypes</a>.</p>
</answer>
</faq>
</part>
</faqs>