今天启动工作的项目程序时,发现有jar包版本冲突。于是在本地试了下一个工程中引入了多个版本的jar包,运行时会加载哪个版本的。
工程A引用工程B,工程B引用jar包a-model0.0.2-SNAPSHOT,工程A同时也引用了jarx0.0.1-SNAPSHOT。
B调用x,A调用B。发现使用的是x1.0中的方法。
此时遵循的原则是最短路径原则。
A pom.xml:
<dependency>
<groupId>com</groupId>
<artifactId>a-model</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.atguigu.gmall</groupId>
<artifactId>gmall-interface</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
B pom.xml:
<dependencies>
<dependency>
<groupId>com</groupId>
<artifactId>a-model</artifactId>
<version>0.0.2-SNAPSHOT</version>
</dependency>
</dependencies>