| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you 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 title="Frequently Asked Technical Questions"> |
| <part id="faq"> |
| <faq id="scope-provided"> |
| <question>How do I prevent including JARs in WEB-INF/lib? I need a "compile only" scope!</question> |
| <answer> |
| <p> |
| The scope you should use for this is |
| <code>provided</code>. This indicates to Maven that the dependency will be |
| provided at run time by its container or the JDK, for example. |
| </p> |
| <p> |
| Dependencies with this scope will not be passed on transitively, nor will they be bundled in an package such |
| as a WAR, or included in the runtime classpath. |
| </p> |
| </answer> |
| </faq> |
| |
| <faq id="available-plugins"> |
| <question>How do I list available plugins?</question> |
| <answer> |
| <p> |
| The "Available Plugins" page lists them, |
| and provides additional information to browse the Maven 2 repository. |
| See <a href="http://maven.apache.org/plugins/">http://maven.apache.org/plugins</a> |
| </p> |
| </answer> |
| </faq> |
| |
| <faq id="plugin-version"> |
| <question>How do I determine what version of a plugin I am using?</question> |
| <answer> |
| <p> |
| You can use the Maven Help Plugin's <code>describe</code> goal. For example, to find out the version |
| of the install plugin: |
| </p> |
| <source>mvn -Dplugin=install help:describe</source> |
| <p> |
| Note that you must give the plugin prefix as the argument to plugin, not it's artifact ID. |
| </p> |
| </answer> |
| </faq> |
| |
| <faq id="using-ant-tasks"> |
| <question>How can I use Ant tasks in Maven 2?</question> |
| <answer> |
| <p> |
| There are currently 2 alternatives: |
| </p> |
| <ul> |
| <li> |
| For use in a plugin written in Java, Beanshell or other Java-like scripting language, you can construct |
| the Ant tasks using the |
| <a href="http://ant.apache.org/manual/antexternal.html">instructions given in the Ant |
| documentation</a> |
| </li> |
| <li> |
| If you have very small amounts of Ant script specific to your project, you can use the |
| <a href="http://maven.apache.org/plugins/maven-antrun-plugin/index.html">AntRun plugin</a>. |
| </li> |
| </ul> |
| </answer> |
| </faq> |
| |
| <faq id="Compiling-J2SE-5"> |
| <question>How do I set up Maven so it will compile with a target and source JVM of my choice?</question> |
| <answer> |
| <p> |
| You must configure the source and target parameters in your pom. For example, to set the source and |
| target JVM to 1.5, you should have in your pom: |
| </p> |
| <source> |
| ... |
| <build> |
| ... |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>2.0.2</version> |
| <configuration> |
| <source>1.5</source> |
| <target>1.5</target> |
| </configuration> |
| </plugin> |
| </plugins> |
| ... |
| </build> |
| ...</source> |
| </answer> |
| </faq> |
| |
| <faq id="dir-struct"> |
| <question>Is it possible to create my own directory structure?</question> |
| <answer> |
| <p> |
| Absolutely yes! |
| </p> |
| <p> |
| By configuring <sourceDirectory>, <resources> and other elements of |
| the <build> section. |
| </p> |
| <p> |
| In addition, you may need to change the plugin configuration if you are |
| not using plugin defaults for their files/directories. |
| </p> |
| </answer> |
| </faq> |
| |
| <faq id="m2-source-code"> |
| <question>Where is the source code? I couldn't seem to find a link anywhere on the Maven2 site.</question> |
| <answer> |
| <p> |
| The source code can be found in subversion: <a href="http://svn.apache.org/repos/asf/maven/components/trunk">http://svn.apache.org/repos/asf/maven/components/trunk</a>. |
| </p> |
| <p> |
| For more information, see <a href="guides/development/guide-building-m2.html">Building Maven 2.0</a>. |
| </p> |
| </answer> |
| </faq> |
| |
| <faq id="proxy-needed"> |
| <question>Maven can't seem to download the dependencies. Is my installation correct?</question> |
| <answer> |
| <p> |
| You most probably need to configure Maven to use a proxy. Please see the information on |
| <a href="guides/mini/guide-proxies.html">Configuring a proxy</a> for information on how to configure your proxy |
| for Maven. |
| </p> |
| </answer> |
| </faq> |
| |
| <faq id="importing-jars"> |
| <question>I have a jar that I want to put into my local repository. How can I copy it in?</question> |
| <answer> |
| <p> |
| If you understand the layout of the maven repository, you can copy the jar directly into where it |
| is meant to go. Maven will find this file next time it is run. |
| </p> |
| |
| <p> |
| If you are not confident about the layout of the maven repository, then you can |
| adapt the following command to load in your jar file, all on one line. |
| </p> |
| |
| <source><![CDATA[ |
| mvn install:install-file |
| -Dfile=<path-to-file> |
| -DgroupId=<group-id> |
| -DartifactId=<artifact-id> |
| -Dversion=<version> |
| -Dpackaging=<packaging> |
| -DgeneratePom=true |
| |
| Where: <path-to-file> the path to the file to load |
| <group-id> the group that the file should be registered under |
| <artifact-id> the artifact name for the file |
| <version> the version of the file |
| <packaging> the packaging of the file e.g. jar |
| ]]></source> |
| <p> |
| This should load in the file into the maven repository, renaming it as needed. |
| </p> |
| </answer> |
| </faq> |
| |
| <faq id="unsubscribing-from-mailing-lists"> |
| <question>How do I unsubscribe from Maven mailing lists?</question> |
| <answer> |
| <p> |
| To unsubscribe from a Maven mailing list you simply send a message to |
| <source>[mailing-list]-unsubscribe@maven.apache.org</source> |
| </p> |
| <p> |
| So, if you have subscribed to <code>users@maven.apache.org</code> then you would |
| send a message to <code>users-unsubscribe@maven.apache.org</code> in order to |
| get off the list. |
| People tend to have problems when they subscribe with one address and |
| attempt to unsubscribe with another. So make sure that you are using the |
| same address when unsubscribing that you used to subscribe before |
| asking for help. |
| </p> |
| <p> |
| If you find you still cannot get off a list then |
| send a message to <code>[mailing-list]-help@maven.apache.org</code>. These |
| instructions are also appended to every message sent out on a maven mailing |
| list ... |
| </p> |
| </answer> |
| </faq> |
| |
| <faq id="skip-test"> |
| <question>How do I skip the tests?</question> |
| <answer> |
| Add the parameter <code>-Dmaven.test.skip=true</code> in the command line |
| </answer> |
| </faq> |
| |
| <faq id="run-one-test"> |
| <question>How can I run a single unit test?</question> |
| <answer> |
| Use the parameter <code>-Dtest=MyTest</code> at the command line. |
| NB: do not specify the entire package (org.apache.x.y.MyTest) |
| </answer> |
| </faq> |
| |
| <faq id="special-characters-site"> |
| <question>Handle special characters in site</question> |
| <answer> |
| <p>Configure your ide to use the correct encoding. With eclipse, add |
| <code>-Dfile.encoding=ISO-8859-1</code> in eclipse.ini file</p> |
| <p>Configure the output encoding in your pom |
| <source> |
| ... |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-site-plugin</artifactId> |
| <version>2.0-beta-6</version> |
| <configuration> |
| <outputEncoding>UTF-8</outputEncoding> |
| </configuration> |
| </plugin> |
| ...</source> |
| </p> |
| <p> |
| Configure the file encoding use by mvn. |
| add to MAVEN_OPTS the encoding (same as the ide). |
| This can be made with adding <code>MAVEN_OPTS="-Dfile.encoding=ISO-8859-1"</code> in $HOME/.profile |
| </p> |
| </answer> |
| </faq> |
| |
| <faq id="tools-jar-dependency"> |
| <question>How do I include <code>tools.jar</code> in my dependencies?</question> |
| <answer> |
| <p> |
| The following code includes <code>tools.jar</code> for JDKs on Windows, Linux and Solaris (it is already |
| included in the runtime for Mac OS X and some free JDKs). |
| </p> |
| <source> |
| ... |
| <profiles> |
| <profile> |
| <id>default-tools.jar</id> |
| <activation> |
| <property> |
| <name>java.vendor</name> |
| <value>Sun Microsystems Inc.</value> |
| </property> |
| </activation> |
| <dependencies> |
| <dependency> |
| <groupId>com.sun</groupId> |
| <artifactId>tools</artifactId> |
| <version>1.4.2</version> |
| <scope>system</scope> |
| <systemPath>${java.home}/../lib/tools.jar</systemPath> |
| </dependency> |
| </dependencies> |
| </profile> |
| </profiles> |
| ...</source> |
| </answer> |
| </faq> |
| |
| <faq id="test-property-name"> |
| <question>Maven compiles my test classes but doesn't run them?</question> |
| <answer> |
| <p> |
| Tests are run by the surefire plugin. The surefire plugin can be configured to run certain test classes and |
| you may have unintentionally done so by specifying a value to ${test}. |
| |
| Check your settings.xml and pom.xml for a property named "test" which would like this: |
| </p> |
| <source> |
| ... |
| <properties> |
| <property> |
| <name>test</name> |
| <value>some-value</value> |
| </property> |
| </properties> |
| ...</source> |
| <p> |
| or |
| </p> |
| <source> |
| ... |
| <properties> |
| <test>some-value</test> |
| </properties> |
| ...</source> |
| </answer> |
| </faq> |
| |
| <faq id="snapshot-artifacts"> |
| <question>Where are Maven SNAPSHOT artifacts?</question> |
| <answer> |
| <p> |
| If you are trying to build a development version of Maven or plugins, |
| you may need to access the maven snapshot repositories. |
| </p> |
| |
| <p> |
| You need to update your settings.xml file using the |
| <a href="guides/development/guide-testing-development-plugins.html"> |
| Guide to Plugin Snapshot Repositories</a> |
| </p> |
| </answer> |
| </faq> |
| |
| <faq id="maven-xsd"> |
| <question>Where are the Maven XSD schemas?</question> |
| <answer> |
| <p> |
| The Maven XSD is located <a href="http://maven.apache.org/maven-v4_0_0.xsd">here</a> and the Maven |
| Settings XSD is located <a href="http://maven.apache.org/xsd/settings-1.0.0.xsd">here</a>. |
| </p> |
| <p> |
| Your favorite IDE probably supports XSD schema's for pom.xml and settings.xml editing. You need to |
| specify the following: |
| <source> |
| <project xmlns="http://maven.apache.org/POM/4.0.0" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 |
| http://maven.apache.org/maven-v4_0_0.xsd"> |
| |
| ... |
| </project></source> |
| <source> |
| <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 |
| http://maven.apache.org/xsd/settings-1.0.0.xsd"> |
| ... |
| </settings></source> |
| </p> |
| </answer> |
| </faq> |
| |
| <faq id="getting-help"> |
| <question>Maven doesn't work, how do I get help?</question> |
| <answer> |
| <p> |
| We have compiled a list of available resources on the |
| <a href="users/getting-help.html">getting help page</a> |
| </p> |
| </answer> |
| </faq> |
| |
| <faq id="How_to_produce_execution_debug_output_or_error_messages"> |
| <question>How to produce execution debug output or error messages?</question> |
| <answer> |
| <p> |
| You could call Maven with <i>-X</i> parameter or <i>-e</i> parameter. For more information, |
| run: |
| <source>mvn --help</source> |
| </p> |
| </answer> |
| </faq> |
| |
| <faq id="What_is_a_Mojo"> |
| <question>What is a Mojo?</question> |
| <answer> |
| <p> |
| A mojo is a <b>M</b>aven plain <b>O</b>ld <b>J</b>ava <b>O</b>bject. Each mojo is an executable |
| <i>goal</i> in Maven, and a plugin is a distribution of one or more related mojos. |
| </p> |
| </answer> |
| </faq> |
| </part> |
| </faqs> |