zoukankan      html  css  js  c++  java
  • maven-enforcer-plugin查看冲突

    我们会经常碰到这样的问题,在pom中引入了一个jar,里面默认依赖了其他的jar包。jar包一多的时候,我们很难确认哪些jar是我们需要的,哪些jar是冲突的。此时会出现很多莫名其妙的问题,什么类找不到啦,方法找不到啦,这种可能的原因就是jar的版本不是我们所设想的版本,但是我们也不知道低版本的jar是从哪个maven里面引用的。此时我们的maven-enforcer-plugin就可以登场了。

    <project>
      ...
      <build>
        <plugins>
          ...
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-enforcer-plugin</artifactId>
            <version>1.4.1</version>
            <executions>
              <execution>
                <id>enforce</id>
                <configuration>
                  <rules>
                    <dependencyConvergence/>
                  </rules>
                </configuration>
                <goals>
                  <goal>enforce</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          ...
        </plugins>
      </build>
      ...
    </project>

    在进行mvn clean package的时候,会在console中打印出来冲突的jar版本和其父pom,如下:

    Dependency convergence error for org.slf4j:slf4j-api1.6.1 paths to dependency are:
     
    [ERROR]
    Dependency convergence error for org.slf4j:slf4j-api:1.6.1 paths to dependency are:
    +-org.myorg:my-project:1.0.0-SNAPSHOT
      +-org.slf4j:slf4j-jdk14:1.6.1
        +-org.slf4j:slf4j-api:1.6.1
    and
    +-org.myorg:my-project:1.0.0-SNAPSHOT
      +-org.slf4j:slf4j-nop:1.6.0
        +-org.slf4j:slf4j-api:1.6.0

    这个时候,我们看一眼就知道应该把那个dependency中的哪个jar进行exclude。

    转自:https://www.cnblogs.com/f-zhao/p/6961058.html

  • 相关阅读:
    条件概率-独立事件-互斥事件-对立事件
    数学
    可视化:svg相关基础
    移动端调用摄像头(相机)相册
    移动端的事件点透及原因
    ios滑动流畅(丝般顺滑)滚动
    动画框架基础部分
    css美化select标签,兼容ie10 ie10+,chrome。但不支持ie9 ie9-
    ie11 调试工具不能使用
    css使用
  • 原文地址:https://www.cnblogs.com/itplay/p/11527852.html
Copyright © 2011-2022 走看看