Maven打包插件—— maven-dependency-plugin 的使用

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

maven-dependency-plugin插件的使用

maven-dependency-plugin是处理与依赖相关的插件。它有很多可用的goal,大部分是和依赖构建、分析和解决相关的goal,这部分goal可以直接用maven的命令操作,例如:mvn dependency:tree、mvn dependency:analyze;这类操作在平时的maven应用中很少会用到。这里主要介绍除此之外的、用得最多的几个操作:copy, copy-dependencies和它们对应的unpack, unpack-dependencies

首先声明插件:

  
      
          
            org.apache.maven.plugins  
            maven-dependency-plugin  
            2.8  
          
      
  

copy 和 unpack

copy操作可以用来将某个(些)maven artifact(s)拷贝到某个目录下。添加phase和goal如下:

   
      
          
            org.apache.maven.plugins  
            maven-dependency-plugin  
            2.8  
              
                  
                    package  
                      
                        copy  
                      
                  
              
          
      
 

然后就是配置,copy可以的配置的项比较多,详细的请参考:copy配置。下面是一些常用项说明:

Name Type Since Description

artifactItems List 1.0 Collection of ArtifactItems to work on. (ArtifactItem contains groupId, artifactId, version, type, classifier, outputDirectory, destFileName and overWrite.) See Usage for details.
outputDirectory File 1.0 Default output location used for mojo, unless overridden in ArtifactItem.
Default value is: ${project.build.directory}/dependency.
User property is: outputDirectory.
prependGroupId boolean 2.7 Prepend artifact groupId during copy
Default value is: false.
User property is: mdep.prependGroupId.
  • prependGroupId: 用来指示拷出来的library名字需要不需要加上groupId,默认是不加
  • outputDirectory: 用来指定拷出后Libraries的存放地

这里除了artifactItems没有默认值,需要指定外,所有其他的选项都可以被忽略:

  
      
          
            junit  
            junit  
            4.11  
          
      
  

以上配置会将junit包拷到target/dependency目录下,文件名为:junit-4.11.jar。

如果想把它拷到lib目录下,可以如下配置:

   
      
          
            junit  
            junit  
            4.11  
          
      
    lib  

或者:

你可能感兴趣的:(java,python,runtime)