Above is the directory structure of web application generated using maven. Use
maven-dependency-plugin for copying artifacts to desired folder under WEB-INF directoryThe application has only one dependent artifact item as shown in the
pom.xml below<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">
<modelVersion>4.0.0</modelVersion>
<groupId>com.webapp</groupId>
<artifactId>MyWeb</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>MyWeb Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>MyWeb</finalName>
</build>
</project>
Use
maven-dependency-plugin to copy an artifact to a specific directory. Add the lines below to your pom.xml under build tag to include the dependency plugin and run it as part of the mvn package command. Make sure you have also defined the copy goal.<build>
<finalName>MyWeb</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>id</id>
<phase>package</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/services</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
Note: The
plugins tag should NOT be within pluginManagement The pluginManagement tag is a way to share the same plugin configuration across all your project modules whereas plugins tag is an actual invocation of the plugin.
No comments :
Post a Comment