| ------ |
| Usage |
| ------ |
| Allan Ramirez |
| Robert Scholte |
| ------ |
| 2013-07-20 |
| ------ |
| |
| ~~ 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. |
| |
| ~~ NOTE: For help with the syntax of this file, see: |
| ~~ http://maven.apache.org/doxia/references/apt-format.html |
| |
| Usage |
| |
| Apache Maven has a two level strategy to resolve and distribute files, which we call artifacts. |
| The first level is called the <<<local repository>>>, which is the artifact cache on your system, by default located at <<<$\{user.home\}/.m2/repository>>>. |
| When executing Maven, it first looks in this local cache for artifacts. If the artifact cannot be found here, Maven will access the remote repositories to find the artifact. |
| Once found it will be stored into the local repository, so it's available for current and future usage. |
| |
| With the <<<maven-install-plugin>>> you can put your artifacts in the local repository. To upload artifacts to a remote repository, you need to use the |
| {{{http://maven.apache.org/plugins/maven-deploy-plugin/}maven-deploy-plugin}}. |
| |
| * The <<<install:install>>> goal |
| |
| In most cases, <<<install:install>>> goal doesn't need any configuration, it |
| needs the project's POM and the artifact file to be installed during the |
| <<<install>>> phase of the default build lifecycle. |
| |
| +---+ |
| mvn install |
| +---+ |
| |
| * The <<<install:install-file>>> goal |
| |
| The <<<install:install-file>>> goal is used primarily for installing artifacts to |
| the local repository which were not built by Maven. The project's development team |
| may or may not provide a POM for the artifact. Here's a list of some of the available parameters for the |
| <<<install-file>>> goal: |
| |
| +---+ |
| mvn install:install-file -Dfile=your-artifact-1.0.jar \ |
| [-DpomFile=your-pom.xml] \ |
| [-Dsources=src.jar] \ |
| [-Djavadoc=apidocs.jar] \ |
| [-DgroupId=org.some.group] \ |
| [-DartifactId=your-artifact] \ |
| [-Dversion=1.0] \ |
| [-Dpackaging=jar] \ |
| [-Dclassifier=sources] \ |
| [-DgeneratePom=true] \ |
| [-DcreateChecksum=true] |
| +---+ |
| |
| * the groupId, artifactId, version and packaging of the file to install. These can |
| be taken from the specified pomFile, extracted from the pom.xml inside the artifact, and overridden or specified |
| using the command line. When the pomFile contains a <parent> section, the parent's |
| groupId can be considered if the groupId is not specified further for the |
| current project or on the command line. |
| |
| * the optional <<<classifier>>> parameter can be used to |
| {{{./examples/installing-secondary-artifacts.html}install secondary artifacts}} for a project, |
| like a <<<javadoc>>> or <<<sources>>> JAR. If a classifier is not given, Maven assumes the file is the main |
| artifact for the project. |