mirror of https://github.com/apache/maven.git
add project FAQ
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@326751 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
125191becb
commit
b90a65ee87
|
@ -0,0 +1,93 @@
|
|||
<?xml version="1.0"?>
|
||||
<faqs title="Frequently Asked Questions About Project Metadata">
|
||||
<part id="faq">
|
||||
<faq id="why-care">
|
||||
<question>Why do I care?</question>
|
||||
<answer>
|
||||
<p>
|
||||
If you're a user of Maven then you are familiar with the Project Object Model (POM) which is the basic unit of
|
||||
work in Maven. Maven is a project-centric tool and so we attempt to capture the essence of a project in the
|
||||
POM. This includes things like what your project is, where the project lives, where you can find the sources
|
||||
for project, who the developers are on the project and how you can get hold of them, what you need to build
|
||||
the project, the way your project will be built, what form your project will be distributed in, and where it
|
||||
will be distributed from.
|
||||
</p>
|
||||
<p>
|
||||
But why would a project not using Maven care?
|
||||
</p>
|
||||
<p>
|
||||
Whether you want to use Maven or not, users of your project - especially if you provide a framework or
|
||||
reusable library - may choose to use Maven. The quality of the metadata in the Maven repository is important
|
||||
to your users as they list dependencies on your metadata, and link in the information into their own
|
||||
projects.
|
||||
</p>
|
||||
<p>
|
||||
Maintaining the metadata for your project is not hard - you can submit it to Maven at release time (and
|
||||
for large projects it can be setup automatically), and just need to describe your project, its location,
|
||||
version and most importantly dependencies. Not doing so, or providing incomplete or invalid information
|
||||
leaves this responsibility to the users of your project.
|
||||
</p>
|
||||
<p>
|
||||
The Maven team does work on this metadata actively to improve its quality, but with thousands of artifacts in
|
||||
the repository and only a certain level of knowledge of other projects this is not ideal. Nobody knows your
|
||||
project better than you.
|
||||
</p>
|
||||
</answer>
|
||||
</faq>
|
||||
<faq id="how-to-improve-metadata">
|
||||
<question>How do I make sure my project's dependency metadata is correct?</question>
|
||||
<answer>
|
||||
<p>
|
||||
It is best to get it right at the time of a release to avoid having to make difficult updates later on.
|
||||
Your information can be submitted to Maven using the regular
|
||||
<a href="http://maven.apache.org/maven2/guides/mini/guide-ibiblio-upload.html">repository upload procedure</a>
|
||||
.
|
||||
</p>
|
||||
<p>
|
||||
The following information is what is best to provide:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Project name</li>
|
||||
<li>Project URL</li>
|
||||
<li>License</li>
|
||||
<li>Description of the project</li>
|
||||
<li>Group and Artifact ID</li>
|
||||
<li>Packaging</li>
|
||||
<li>Version</li>
|
||||
<li>Dependencies</li>
|
||||
</ul>
|
||||
<p>
|
||||
The group ID should resemble the package name, or reverse DNS of your web site, and can contain subgroups as
|
||||
you see fit: for example, org.apache.maven and org.apache.maven.plugins.
|
||||
</p>
|
||||
<p>
|
||||
The artifact ID is specific to each artifact and by convention should be the filename, excluding
|
||||
extension.
|
||||
</p>
|
||||
<p>
|
||||
The packaging is the type of your artifact, such as jar, war, ear, ejb, dll, etc.
|
||||
</p>
|
||||
<p>
|
||||
Each dependency also contains their group ID and artifact ID, as well as version specification.
|
||||
In particular, you should ensure that optional dependencies are marked as such, and that runtime and testing
|
||||
only dependencies are marked with the given scope. Ranges can be used for version if that is appropriate,
|
||||
such as commons-collections [2.0,3.0). Ensure that the dependency exists in the Maven system and matches
|
||||
first.
|
||||
</p>
|
||||
<p>
|
||||
See the format of the
|
||||
<a href="/maven2/maven-model/maven.html">project descriptor</a>
|
||||
for more information.
|
||||
</p>
|
||||
</answer>
|
||||
</faq>
|
||||
<faq id="how-to-automatically-sync">
|
||||
<question>How do I ensure my latest releases automatically appear in the Maven repository?</question>
|
||||
<answer>
|
||||
<p>
|
||||
Content coming...
|
||||
</p>
|
||||
</answer>
|
||||
</faq>
|
||||
</part>
|
||||
</faqs>
|
|
@ -29,7 +29,8 @@
|
|||
<item name="For Maven 1.0 Users" href="/maven1.html"/>
|
||||
<item name="FAQ" href="/general.html"/>
|
||||
<item name="Road Map" href="/roadmap.html"/>
|
||||
<item name="Powered By" href="/powered-by-m2.html"/>
|
||||
<item name="Powered By" href="/powered-by-m2.html"/>
|
||||
<item name="FAQ for Other Projects" href="/project-faq.html"/>
|
||||
</menu>
|
||||
|
||||
${reports}
|
||||
|
|
Loading…
Reference in New Issue