首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >强制maven spring boot项目使用旧版本的依赖项,而不是来自另一个依赖项的新版本。

强制maven spring boot项目使用旧版本的依赖项,而不是来自另一个依赖项的新版本。
EN

Stack Overflow用户
提问于 2017-01-06 03:43:50
回答 1查看 1.2K关注 0票数 1

我遇到了一个问题,由于这个问题中列出的相同问题,我无法启动spring boot服务器:

How to set up Spring Boot and log4j2 properly?

我遇到这种情况是因为spring boot项目依赖于包含elasticsearch的jar,该jar包含与spring boot不兼容的新版本的slf4j

我尝试了推荐的解决方案,在elasticsearch项目依赖定义中实现了所有可能的排除,但由于某些原因,新版本一直被采用。我似乎不能强迫spring boot项目忽略elasticsearch项目使用的日志记录包。

以下是我的spring-boot项目的pom,请参阅problematic.project.import的依赖项:http://pastebin.com/Yeq2qk9Y

下面是要导入到spring boot项目中的项目的pom:http://pastebin.com/gknmf6Tt

我得到的错误是:

代码语言:javascript
复制
Caused by: java.lang.NoSuchMethodError: org.apache.logging.log4j.core.config.ConfigurationFactory.getConfiguration(Lorg/apache/logging/log4j/core/config/ConfigurationSource;)Lorg/apache/logging/log4j/core/config/Configuration;
at org.springframework.boot.logging.log4j2.Log4J2LoggingSystem.loadConfiguration(Log4J2LoggingSystem.java:165)
at org.springframework.boot.logging.log4j2.Log4J2LoggingSystem.loadDefaults(Log4J2LoggingSystem.java:148)
at org.springframework.boot.logging.AbstractLoggingSystem.initializeWithConventions(AbstractLoggingSystem.java:75)
at org.springframework.boot.logging.AbstractLoggingSystem.initialize(AbstractLoggingSystem.java:50)

关于如何解决这个问题,有什么建议吗?是否有可能加载这组库的两个版本,每个模块都不知道它们不需要的版本?

EN

回答 1

Stack Overflow用户

发布于 2017-01-06 03:48:23

您可以通过在pom.xml中使用<exclusions>标记来排除循环依赖,如下所示:

代码语言:javascript
复制
<dependency>
  <groupId>sample.ProjectB</groupId>
  <artifactId>Project-B</artifactId>
  <version>1.0-SNAPSHOT</version>
  <exclusions>
    <exclusion>
      <groupId>sample.ProjectE</groupId> <!-- Exclude Project-E from Project-B -->
      <artifactId>Project-E</artifactId>
    </exclusion>
  </exclusions>
</dependency>

您应该从具有新版本的依赖项中排除较新版本的循环依赖项,这样只会加载较旧的版本,而不是两者都加载。

以下是更多信息的链接:

https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41493403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档