详解 maven的pom.xml用 解决版本问题

时间:2022-08-26 21:31:09

详解 mavenpom.xml用<exclusion>解决版本问题

    用maven管理库依赖,有个好处就是连同库的依赖的全部jar文件一起下载,免去手工添加的麻烦,但同时也带来了同一个jar会被下载了不同版本的问题,好在pom的配置里面允许用<exclusion>来排除一些不需要同时下载的依赖jar 。

      比如配置struts-core,它会同时下载javassist和asm相关的jar,但版本又不够新,这时可以排除它们:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!-- Struts2 -->
    <dependency>
      <groupId>org.apache.struts</groupId>
      <artifactId>struts2-core</artifactId>
      <version>${struts.version}</version>
      <exclusions>
        <exclusion>
          <groupId>javassist</groupId>
          <artifactId>javassist</artifactId>
        </exclusion>
        <exclusion> <!-- we prefer our explicit version, though it should be the same -->
          <groupId>asm</groupId>
          <artifactId>asm</artifactId>
        </exclusion>
        <exclusion> <!-- we prefer our explicit version, though it should be the same -->
          <groupId>asm</groupId>
          <artifactId>asm-commons</artifactId>
        </exclusion>
        <exclusion> <!-- we prefer our explicit version, though it should be the same -->
          <groupId>org.ow2.asm</groupId>
          <artifactId>asm</artifactId>
        </exclusion>
        <exclusion> <!-- we prefer our explicit version, though it should be the same -->
          <groupId>org.ow2.asm</groupId>
          <artifactId>asm-commons</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

如有疑问请留言或者到本站社区交流讨论,希望通过本文能帮助到大家,谢谢大家对本站的支持!

原文链接:http://blog.csdn.net/rocklee/article/details/51692054