繁体   English   中英

Maven包括旧版本的依赖项

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM