mvn install
1

# 发布部署

Deploy

# 依赖分析

  • mvn dependency:list

# 列出项目的所有jar包

  • mvn dependency:list -Dverbose

#该命令可以列出项目依赖的所有jar包,-Dverbose参数会把被忽略的jar,即相同jar包的不同版本引入也列出来。

  • mvn dependency:tree

列出项目的包依赖树 这个命令跟上一个命令的区别就是,这个命令的依赖,输出来是个树,更方便看依赖关系。

dependency:tree有几个比较重要的参数,非常有用: includes 说明:该参数可以列出指定要求的jar,其他的忽略 示例:-Dincludes=velocity:velocity,只列出velocity的依赖关系 参数值:[groupId]:[artifactId]:[type]:[version],参数格式就是这样的,没有的值可以留空,举例-Dincludes=:spring-aop,-Dincludes=:::5.0.6.RELEASE,-Dincludes=org.springframework 通配符:在参数中可以使用通配符,例如org.apache., :::-SNAPSHOT 多个参数值:参数后面可以跟多个参数值,以英文逗号分隔,举例-Dincludes=org.apache.maven*,org.codehaus.plexus excludes 说明:该参数的用法跟includes是一样的,不过这个参数的作用是排除指定的jar

  • dependency:analyze-only

分析依赖

dependency:analyze-only命令可以分析整个项目,并且找出项目中依赖有如下情况的:

  1. 声明了并且使用了的依赖
  2. 没有声明但是使用了的依赖
  3. 声明了但是没有使用的依赖
  4. 需要注意的是,如果你要查看声明了并且使用了的依赖,必须加上参数-Dverbose
  • mvn dependency:analyze

分析maven依赖情况,可对无用依赖排除以减小jar包

  • dependency:analyze-duplicate

分析 and

这个命令会查找<dependencies/> 和 <dependencyManagement/>中重复声明的依赖

  • dependency:list-repositories

---- 列出所有的远程repositories

  • dependency:purge-local-repository

---- 清理本地repository

这个命令的会首先解析整个项目的依赖,然后从本地repository中清理这些依赖,重新从远程repository下载。

  1. 直接依赖

    有一点要说清楚,这个命令默认的对所有的依赖项进行操作。所以它会在清除操作之前,下载某些缺失的依赖来收集完整的依赖树信息。为了避免这些预下载的操作,你可以设置参数-DactTransitively=false,仅对项目的直接依赖进行操作。

  2. 指定/排除依赖

    你也可以有针对性的只操作某些包,需要添加参数-Dincludes,明确的声明包,这个是可以传多个值的,用英文逗号分隔,举例:dependency:purge-local-repository -Dincludes=org.slf4j:slf4j-api,org.slf4j:log4j-over-slf4j-Dexcludes也是一样的道理,只不过是排除某些依赖。

  3. 自定义清理

    如果你想清理不在本项目中的依赖,也可以使用这个,不过参数是不一样的。mvn dependency:purge-local-repository -DmanualIncludes=org.apache:apache,参数-DmanualInclude可以让你清理不在本项目中的依赖,但是不会重新解析依赖了,因为本项目不需要这些依赖。这个对清理parent pom,导入的pom,maven插件非常有用。