[英]Maven including old versions of dependencies
我正在使用Maven构建具有以下参数的WAR文件:mvn clean package
这样可以成功构建,但是当我打开WAR时,会看到以下内容:
jackson-core-2.2.3.jar
jackson-core-2.3.0.jar
pushy-0.2.jar
pushy-0.3.jar
这会导致我们的应用程序服务器出现问题(最有可能发生冲突),我通过在WAR中手动删除旧的依赖项(解决了所有问题)证明了这一点。
我已经在Eclipse中检查了Dependency Hierarchy视图,并且在任何地方都没有看到Jackson的2.2.3版本或Pushy的0.2版本。
我也尝试删除整个.m2存储库,但这似乎没有任何区别。
Maven是否将这些旧的JAR包括在内,是否有任何特定的原因?
Pom.xml依赖项:
<dependencies>
<dependency>
<groupId>core</groupId>
<artifactId>core</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.31</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>
<dependency>
<groupId>com.threewks.thundr</groupId>
<artifactId>thundr-mailgun</artifactId>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>1.18.1</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-core</artifactId>
<version>1.18.1</version>
</dependency>
<dependency>
<groupId>com.sun.jersey.contribs</groupId>
<artifactId>jersey-multipart</artifactId>
<version>1.18.1</version>
</dependency>
</dependencies>
Core.jar pom.xml依赖关系:
<dependencies>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.3</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.5</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<version>1.1.7</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.9.5</version>
</dependency>
<dependency>
<groupId>org.facebook4j</groupId>
<artifactId>facebook4j-core</artifactId>
<version>[2.0,)</version>
</dependency>
<dependency>
<groupId>com.relayrides</groupId>
<artifactId>pushy</artifactId>
<version>0.3</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.5.2</version>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>javax.mail-api</artifactId>
<version>1.5.2</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>com.threewks.thundr</groupId>
<artifactId>thundr-mailgun</artifactId>
<version>1.1.0</version>
</dependency>
</dependencies>
这是在构建WAR时使用mvn运行依赖项树参数的结果:
[INFO] --- maven-dependency-plugin:2.1:tree (default-cli) @ vimbaserver ---
[INFO] vimbaserver:vimbaserver:war:1.0
[INFO] +- core:core:jar:1.0:compile
[INFO] | +- (commons-dbcp:commons-dbcp:jar:1.4:compile - omitted for duplicate)
[INFO] | +- commons-lang:commons-lang:jar:2.3:compile
[INFO] | +- commons-codec:commons-codec:jar:1.5:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-core:jar:2.3.0:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.3.0:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-databind:jar:2.3.0:compile
[INFO] | | +- (com.fasterxml.jackson.core:jackson-annotations:jar:2.3.0:compile - omitted for duplicate)
[INFO] | | \- (com.fasterxml.jackson.core:jackson-core:jar:2.3.0:compile - omitted for duplicate)
[INFO] | +- org.mariadb.jdbc:mariadb-java-client:jar:1.1.7:compile
[INFO] | | +- net.java.dev.jna:jna:jar:3.3.0:compile
[INFO] | | \- net.java.dev.jna:jna:jar:platform:3.3.0:compile
[INFO] | +- junit:junit:jar:4.11:compile
[INFO] | | \- org.hamcrest:hamcrest-core:jar:1.3:compile
[INFO] | +- org.facebook4j:facebook4j-core:jar:2.1.0:compile
[INFO] | +- com.relayrides:pushy:jar:0.3:compile
[INFO] | | +- org.slf4j:slf4j-api:jar:1.7.6:compile
[INFO] | | +- io.netty:netty-all:jar:4.0.18.Final:compile
[INFO] | | \- com.googlecode.json-simple:json-simple:jar:1.1.1:compile
[INFO] | | \- (junit:junit:jar:4.10:compile - omitted for conflict with 4.11)
[INFO] | +- (log4j:log4j:jar:1.2.16:compile - omitted for duplicate)
[INFO] | +- com.sun.mail:javax.mail:jar:1.5.2:compile
[INFO] | | \- (javax.activation:activation:jar:1.1:compile - omitted for conflict with 1.1.1)
[INFO] | +- javax.mail:javax.mail-api:jar:1.5.2:runtime
[INFO] | | \- (javax.activation:activation:jar:1.1:runtime - omitted for duplicate)
[INFO] | +- javax.activation:activation:jar:1.1.1:compile
[INFO] | \- (com.threewks.thundr:thundr-mailgun:jar:1.1.0:compile - omitted for duplicate)
[INFO] +- commons-dbcp:commons-dbcp:jar:1.4:compile
[INFO] | \- commons-pool:commons-pool:jar:1.5.4:compile
[INFO] +- mysql:mysql-connector-java:jar:5.1.31:compile
[INFO] +- log4j:log4j:jar:1.2.16:compile
[INFO] +- com.threewks.thundr:thundr-mailgun:jar:1.1.0:compile
[INFO] | \- com.threewks.thundr:thundr-http:jar:1.1.0:compile
[INFO] | \- com.threewks.thundr:thundr:jar:1.1.0:compile
[INFO] | +- commons-fileupload:commons-fileupload:jar:1.2.2:compile
[INFO] | +- joda-time:joda-time:jar:2.3:compile
[INFO] | +- com.google.code.gson:gson:jar:2.1:compile
[INFO] | +- com.atomicleopard:expressive:jar:0.9.5:compile
[INFO] | +- org.jodd:jodd-bean:jar:3.4.4:compile
[INFO] | | \- org.jodd:jodd-core:jar:3.4.4:compile
[INFO] | +- org.jodd:jodd-proxetta:jar:3.4.4:compile
[INFO] | | +- (org.slf4j:slf4j-api:jar:1.7.2:compile - omitted for conflict with 1.7.6)
[INFO] | | \- (org.jodd:jodd-core:jar:3.4.4:compile - omitted for duplicate)
[INFO] | +- org.jodd:jodd-servlet:jar:3.4.4:compile
[INFO] | | +- (org.jodd:jodd-bean:jar:3.4.4:compile - omitted for duplicate)
[INFO] | | +- (org.jodd:jodd-core:jar:3.4.4:compile - omitted for duplicate)
[INFO] | | \- org.jodd:jodd-upload:jar:3.4.4:compile
[INFO] | | \- (org.jodd:jodd-core:jar:3.4.4:compile - omitted for duplicate)
[INFO] | +- org.apache.commons:commons-lang3:jar:3.1:compile
[INFO] | +- javax.inject:javax.inject:jar:1:compile
[INFO] | \- org.apache.directory.studio:org.apache.commons.codec:jar:1.6:compile
[INFO] | \- (commons-codec:commons-codec:jar:1.6:compile - omitted for conflict with 1.5)
[INFO] +- com.sun.jersey:jersey-client:jar:1.18.1:compile
[INFO] | \- (com.sun.jersey:jersey-core:jar:1.18.1:compile - omitted for duplicate)
[INFO] +- com.sun.jersey:jersey-core:jar:1.18.1:compile
[INFO] \- com.sun.jersey.contribs:jersey-multipart:jar:1.18.1:compile
[INFO] +- org.jvnet.mimepull:mimepull:jar:1.9.3:compile
[INFO] \- (com.sun.jersey:jersey-core:jar:1.18.1:compile - omitted for duplicate)
使用mvn dependency:tree
来查看可传递的依赖关系在哪里。 排除它们并使用Maven Enforcer plugin
可以防止开发人员添加依赖项,从而增加了禁止的传递依赖项。
我之前遇到过-请检查jboss目录中的WEB-INF /文件夹是否有旧的jar。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.