| ~~ 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. |
| |
| ------ |
| Unpacking specific artifacts |
| ------ |
| Allan Ramirez |
| Brian Fox |
| ------ |
| 2006-11-01 |
| ------ |
| |
| Unpacking specific artifacts |
| |
| This is pretty similar to the {{{./copying-artifacts.html}Copying Specific Artifacts}} |
| example. The difference is that instead of copying the artifacts, they are unpacked. |
| To unpack the copied artifacts, use the <<<dependency:unpack>>> mojo and |
| configure the plugin into something like the sample below: |
| |
| +---+ |
| <project> |
| [...] |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <version>${project.version}</version> |
| <executions> |
| <execution> |
| <id>unpack</id> |
| <phase>package</phase> |
| <goals> |
| <goal>unpack</goal> |
| </goals> |
| <configuration> |
| <artifactItems> |
| <artifactItem> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <version>3.8.1</version> |
| <type>jar</type> |
| <overWrite>false</overWrite> |
| <outputDirectory>\${project.build.directory}/alternateLocation</outputDirectory> |
| <destFileName>optional-new-name.jar</destFileName> |
| <includes>**/*.class,**/*.xml</includes> |
| <excludes>**/*test.class</excludes> |
| </artifactItem> |
| </artifactItems> |
| <includes>**/*.java</includes> |
| <excludes>**/*.properties</excludes> |
| <outputDirectory>\${project.build.directory}/wars</outputDirectory> |
| <overWriteReleases>false</overWriteReleases> |
| <overWriteSnapshots>true</overWriteSnapshots> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| [...] |
| </project> |
| +---+ |
| |
| And after invoking <<<mvn package>>>, the artifacts are unpacked. Because checking the existence of an unpacked archive |
| is difficult to do reliably, marker files are used instead. The location of the marker files is controlled by the {{{../unpack-dependencies-mojo.html#markersDirectory}markersDirectory}} parameter. |
| |
| {Unpacking from the command line}: |
| |
| If you intend to configure this mojo for execution on the command line using: |
| |
| +---+ |
| mvn dependency:unpack |
| +---+ |
| |
| you must not put the configuration inside the <executions> tag. Your configuration should look like this: |
| |
| +---+ |
| <project> |
| [...] |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <version>${project.version}</version> |
| <configuration> |
| <artifactItems> |
| <artifactItem> |
| <groupId>[ groupId ]</groupId> |
| <artifactId>[ artifactId ]</artifactId> |
| <version>[ version ]</version> |
| <type>[ packaging ]</type> |
| <classifier> [classifier - optional] </classifier> |
| <overWrite>[ true or false ]</overWrite> |
| <outputDirectory>[ output directory ]</outputDirectory> |
| <destFileName>[ filename ]</destFileName> |
| <includes>[ comma separated list of file filters ]</includes> |
| <excludes>[ comma separated list of file filters ]</excludes> |
| </artifactItem> |
| </artifactItems> |
| <!-- other configurations here --> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| [...] |
| </project> |
| +---+ |