Maven的非web項目在執行時需要引用很多jar包,這時候通常的做法是將這些jar包統一放到lib目錄中,maven的dependency插件可以幫我們做這件事情。
我們需要在pom文件的build節點的plugins節點內添加一個plugin,plugin內容如下:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>theMainClass</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugin>
上面配置中我們使用了maven-dependency-plugin插件,然后執行了(execution節點)copy-dependencies操作。我們指定的輸出目錄是:${project.build.directory}/lib,這里的${project.build.directory}就是我們通常看到的target目錄,也就是要把jar復制到target目錄下的lib目錄下。
