【发布时间】:2021-12-30 23:12:43
【问题描述】:
我正在从 log4j-slf4j-impl 2.12.0 升级到 2.17.1。在我之前的代码中,除了
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>${slf4j.version}</version>
</dependency>
现在我已经升级到 2.17.1 我收到以下错误:
org.apache.felix.resolver.reason.ReasonException:无法解析 org.apache.logging.log4j.slf4j-impl/2.17.1:缺少要求 [org.apache.logging.log4j.slf4j-impl/2.17 .1] osgi.wiring.package; filter:="(&(osgi.wiring.package=org.apache.logging.log4j)(version>=2.17.0)(!(version>=3.0.0)))" 在 org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1343) 在 org.apache.felix.resolver.ResolverImpl.doResolve(ResolverImpl.java:420) 在 org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:378) 在 org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:332) 在 org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:257) 在 org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:393) 在 org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1062) 在 org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:998) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在 java.lang.Thread.run(Thread.java:748)
所以我在 pom.xml 中包含了另外两个依赖项,以检查是否可以解决问题。这另外两个依赖项是:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.17.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.17.1</version>
</dependency>
但这无济于事。编译过程很好。运行是问题所在。
这是我的 pom.xml 的一部分:
<slf4j.version>2.17.1</slf4j.version>
<sonar.coverage.exclusions>**/Activator.java</sonar.coverage.exclusions>
</properties>
<dependencies>
<!-- test scoped dependencies -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<!-- logger dependencies -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.17.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.17.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>${slf4j.version}</version>
</dependency>
我还缺少什么?
【问题讨论】:
标签: java log4j2 apache-karaf