mvn dependency:analyze

来源:互联网 发布:加工中心怎么编程铣面 编辑:程序博客网 时间:2024/06/10 02:23

mvn dependency:analyze命令可以分析当前项目的依赖,我们可以根据这个结果删除多余的依赖。

显示结果如需:

[INFO] --- maven-dependency-plugin:2.1:analyze (default-cli) @ VASETL ---
[WARNING] Used undeclared dependencies found:
[WARNING]    org.apache.ant:ant:jar:1.9.1:compile
[WARNING]    org.codehaus.jackson:jackson-core-asl:jar:1.8.8:compile
[WARNING]    commons-collections:commons-collections:jar:3.2.1:compile
[WARNING]    org.codehaus.jackson:jackson-mapper-asl:jar:1.8.8:compile
[WARNING]    org.mortbay.jetty:jetty-util:jar:6.1.26:compile
[WARNING]    log4j:log4j:jar:1.2.17:compile
[WARNING]    commons-logging:commons-logging:jar:1.1.3:compile
[WARNING] Unused declared dependencies found:
[WARNING]    com.ailk.cloudetl:CloudETL.Server:jar:V03B01C00-SNAPSHOT:compile
[WARNING]    com.ailk.cloudetl:CloudETL.Apps:jar:V03B01C00-SNAPSHOT:compile
[WARNING]    org.mortbay.jetty:jetty-util5:jar:6.1.26:compile
[WARNING]    org.mortbay.jetty:jetty:jar:6.1.26:compile
[WARNING]    org.springframework:spring-orm:jar:3.0.3.RELEASE:compile
[WARNING]    org.springframework:spring-context-support:jar:3.0.3.RELEASE:compile
[WARNING]    org.springframework:spring-expression:jar:3.0.3.RELEASE:compile
[WARNING]    org.apache.hadoop:hadoop-mapreduce-client-jobclient:jar:2.3.0-cdh5.0.0:compile
[WARNING]    org.apache.hadoop:hadoop-auth:jar:2.3.0-cdh5.0.0:compile
[WARNING]    org.apache.hadoop:hadoop-client:jar:2.3.0-cdh5.0.0:compile
[WARNING]    org.apache.hadoop:hadoop-annotations:jar:2.3.0-cdh5.0.0:compile
[WARNING]    org.quartz-scheduler:quartz:jar:1.8.4:compile
[WARNING]    org.apache.commons:commons-jexl:jar:2.0.1:compile
[WARNING]    dom4j:dom4j:jar:1.6.1:compile
[WARNING]    org.hibernate:hibernate-c3p0:jar:3.3.2.GA:compile
[WARNING]    org.hibernate:hibernate-annotations:jar:3.4.0.GA:compile
[WARNING]    org.javassist:javassist:jar:3.13.0-GA:compile
[WARNING]    org.eclipse.jdt:core:jar:3.1.1:compile
[WARNING]    org.python:jython:jar:2.5.0:compile
[WARNING]    org.apache.hive:hive-jdbc:jar:0.12.0-cdh5.0.0:compile
[WARNING]    org.apache.hive:hive-metastore:jar:0.12.0-cdh5.0.0:compile
[WARNING]    mazz.i18nlog:i18nlog:jar:1.0.10:compile
[WARNING]    org.codehaus.groovy:groovy:jar:1.7.4:compile
[WARNING]    mysql:mysql-connector-java:jar:5.1.13:compile
[WARNING]    com.oracle:ojdbc14:jar:10.2.0.4.0:compile
[WARNING]    db2:db2java:jar:1.0:compile
[WARNING]    com.ailk.cloudetl:JAC:jar:0.0.1:compile
[WARNING]    jaxen:jaxen:jar:1.1.6:compile
[WARNING]    javax.servlet:servlet-api:jar:2.5:provided
[WARNING]    ant:ant:jar:1.6.5:compile


如下结果就可以看出,我们项目有很多没有使用的依赖。


问题分析:

所有的依赖都是在父模块的pom中定义的,并不是所以的子模块都需要这些依赖,所以导致了无用依赖过多。


解决办法:

使用dependencyManagement管理,这样如果父目录声明了,但子目录不需要,就不会被引入,子模块声明是可以只声明依赖的groupId和artifactId,不需要声明版本和scope等信息。

0 0
原创粉丝点击