mvn install
# 发布部署
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
命令可以分析整个项目,并且找出项目中依赖有如下情况的:
- 声明了并且使用了的依赖
- 没有声明但是使用了的依赖
- 声明了但是没有使用的依赖
- 需要注意的是,如果你要查看声明了并且使用了的依赖,必须加上参数
-Dverbose
- mvn dependency:analyze
分析maven依赖情况,可对无用依赖排除以减小jar包
dependency:analyze-duplicate
分析
这个命令会查找<dependencies/> 和 <dependencyManagement/>
中重复声明的依赖
dependency:list-repositories
---- 列出所有的远程repositories
dependency:purge-local-repository
---- 清理本地repository
这个命令的会首先解析整个项目的依赖,然后从本地repository中清理这些依赖,重新从远程repository下载。
直接依赖
有一点要说清楚,这个命令默认的对所有的依赖项进行操作。所以它会在清除操作之前,下载某些缺失的依赖来收集完整的依赖树信息。为了避免这些预下载的操作,你可以设置参数
-DactTransitively=false
,仅对项目的直接依赖进行操作。指定/排除依赖
你也可以有针对性的只操作某些包,需要添加参数
-Dincludes
,明确的声明包,这个是可以传多个值的,用英文逗号分隔,举例:dependency:purge-local-repository -Dincludes=org.slf4j:slf4j-api,org.slf4j:log4j-over-slf4j
。-Dexcludes
也是一样的道理,只不过是排除某些依赖。自定义清理
如果你想清理不在本项目中的依赖,也可以使用这个,不过参数是不一样的。
mvn dependency:purge-local-repository -DmanualIncludes=org.apache:apache
,参数-DmanualInclude
可以让你清理不在本项目中的依赖,但是不会重新解析依赖了,因为本项目不需要这些依赖。这个对清理parent pom,导入的pom,maven插件非常有用。