利用maven-dependency-plugin插件使用及配置

背景:

  1.需要某个特殊的 jar包,但是有不能直接通过maven依赖获取,或者说在其他环境的maven仓库内不存在,那么如何将我们所需要的jar包打入我们的生产jar包中。

  2.某个jar包内部包含的文件是我们所需要的,或者是我们希望将它提取出来放入指定的位置 ,那么除了复制粘贴,如何通过maven插件实现呢

maven-dependency-plugin插件

  dependency  插件我们最常用到的是 dependency:copy  dependency:copy-dependencies  及dependency:unpack    dependency:unpack-dependencies 这四个,如果要实现上述的两种场景,我们需要的 是 第一个和第三个。

dependency:copy:takes a list of artifacts defined in the plugin configuration section and copies them to a specified location, renaming them or stripping the version if desired. This goal can resolve the artifacts from remote repositories if they don‘t exist in either the local repository or the reactor.(将一系列在此插件内列出的artifacts ,将他们copy到一个特殊的地方,重命名或者去除其版本信息。这个可以解决远程仓库存在但是本地仓库不存在的依赖问题)。

  其依赖配置如下:

            <!--dependency plugin test start-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>3.0.1</version>
                <executions>
                    <execution>
                        <id>copy</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy</goal>
                        </goals>
                        <configuration>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>junit</groupId>
                                    <artifactId>junit</artifactId>
                                    <version>4.11</version>
                                    <outputDirectory>${project.build.directory}/lib/lib1</outputDirectory>
                                </artifactItem>
                                <artifactItem>
                                    <groupId>org.slf4j</groupId>
                                    <artifactId>slf4j-log4j12</artifactId>
                                    <version>1.7.7</version>
                                    <outputDirectory>${project.build.directory}/lib/lib2</outputDirectory>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

我们将两个指定的jar包junit slf4j-log4j12 分别输出到${project.build.directory}/lib/lib1  和${project.build.directory}/lib/lib2  目录下  即${project.basedir}/target/lib 目录下。

但是这样达到我们的 目的没有呢,这是没有的 我们希望将这些指定的  输出的文件打包到我们的war包中以方便在任何环境内都能正常运行。

大家是否还记得上篇博客:http://www.cnblogs.com/lianshan/p/7348093.html、

利用maven-assembly-plugin加载不同环境所需的配置文件的assembly.xml 文件定义的,fileSet定义的,我们可以将指定目录下的 文件输出到我们的war包结构中,好比这样

具体的详细配置可参考apache官网:http://maven.apache.org/components/plugins/maven-dependency-plugin/plugin-info.html

时间: 2024-11-09 12:20:48

利用maven-dependency-plugin插件使用及配置的相关文章

eclipse maven plugin 插件 安装 和 配置

环境准备: eclipse(Helios) 3.6 maven 3.0.4 maven3 安装: 安装 Maven 之前要求先确定你的 JDK 已经安装配置完成.Maven是 Apache 下的一个项目,目前最新版本是 3.0.4,我用的也是这个. 首先去官网下载 Maven:http://www.apache.org/dyn/closer.cgi/maven/binaries/apache-maven-3.0.4-bin.tar.gz 下载完成之后将其解压,我将解压后的文件夹重命名成 mave

eclipse maven plugin 插件 安装 和 配置(2)

eclipse maven plugin 插件 安装 和 配置(2) 就像上篇文章所说,折腾一会终于安装完成,终于松了一口气,不料再次打开eclipse时又有错误信息,在网上找了找,找了篇比较详细的,原文地址: http://www.sunchis.com/html/hsware/software/2011/1102/371.html 在Eclipse中安装了m2eclipse(maven插件),安装完成后重启Eclipse,出现下列警告:Please make sure the -vm opt

利用maven管理项目之POM文件配置

1. 将本地的jar包加入maven dependency <dependency> <groupId>com.ebay.app.raptor.cs.qa</groupId> <artifactId>ecaf</artifactId> <version>0.0.1-SNAPSHOT</version> <systemPath>${project.basedir}/lib/ecaf.jar</systemP

eclipse maven plugin 插件 安装 和 配置(1)

昨天配置在eclipse中配置maven,遇到的问题还不少,上网查了查相关的方法,总算最终解决了 原文地址:http://www.blogjava.net/fancydeepin/archive/2012/07/13/eclipse_maven3_plugin.html 环境准备: eclipse(Helios) 3.6maven 3.0.4 maven3 安装: 安装 Maven 之前要求先确定你的 JDK 已经安装配置完成.Maven是 Apache 下的一个项目,目前最新版本是 3.0.4

利用maven中resources插件的copy-resources目标进行资源copy和过滤

maven用可以利用如下配置进行资源过滤,pom.xml的配置如下: Xml代码   <build> <!-- 主资源目录 --> <resources> <resource> <!-- 设定主资源目录  --> <directory>src/main/resources</directory> <!-- maven default生命周期,process-resources阶段执行maven-resources-p

安装Hadoop系列 — eclipse plugin插件编译安装配置

[一].环境参数 eclipse-java-kepler-SR2-linux-gtk-x86_64.tar.gz //现在改为eclipse-jee-kepler-SR2-linux-gtk-x86_64.tar.gz Hadoop1.0.3 Java 1.8.0 Ubuntu 12.04  64bit [二].安装配置 1.复制生成的 hadoop-eclipse-plugin-1.0.3.jar 到 eclipse/plugins 路径下,重启eclipse即可. 2.在eclipse菜单依

(一)maven之——maven基础及本地仓库的配置

一.初步了解maven Apache Maven是一个软件项目管理的综合工具.基于项目对象模型(POM)的概念,提供了帮助管理构建.文档.报告.依赖.发布等方法,Maven简化和标准化项目建设过程.处理编译,分配,文档,团队协作和其他任务的无缝连接. Maven增加可重用性并负责建立相关的任务. maven的好处在于可以将项目过程规范化.自动化.高效化以及强大的可扩展性,利用maven自身及其插件还可以获得代码检查报告.单元测试覆盖率.实现持续集成等等. Maven的基本原理很简单,采用远程仓库

question --&gt; maven assembly plugin 修改文件默认权限

使用maven assembly plugin插件添加执行脚本时,发现默认权限为644,还需要手动添加执行权限.这很麻烦,于是查看文档 官方文档 http://maven.apache.org/plugins/maven-assembly-plugin/assembly.html#class_fileSet fileMode String Similar to a UNIX permission, sets the file mode of the files included. THIS IS

maven中jetty插件配置

maven中jetty插件的配置,可用于项目在内置jetty服务器中的部署. <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> <configuration> <contextPath>/Demo1</contextPath> <connectors> <conne