我有一个 Maven 项目,它具有以下直接依赖关系:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.5</version>
<scope>compile</scope>
<optional>false</optional>
</dependency>
但尽管如此,mvn dependency:tree节目slf4j-api版本选择为1.6.2,并且直接依赖于我的项目!
我的项目中还有其他依赖项可能依赖于其他版本的slf4j. 但我的理解是选择最接近树根的版本。
slf4j对相关内容的其他依赖是org.slf4j:jul-to-slf4j:jar:1.7.5:compile,org.slf4j:log4j-over-slf4j:jar:1.7.5:compile(直接依赖)和org.slf4j:jcl-over-slf4j:jar:1.7.3:runtime(传递依赖)
我正在这个 maven 项目中构建一个,包含war的 jar在存档中。我不知道该怎么做才能确保我得到 jar 版本而不是.slf4j1.6.21.7.51.6.2
更新:我正在使用 maven 3.0.4。
更新 2:根据要求,添加了 pom 和调试日志。由于文件很大,我已将其添加到保管箱公共文件夹:https ://www.dropbox.com/sh/w1rtgvxvnt4jf18/lbiMIgwWD_