gpt4 book ai didi

java - 为 Maven 插件运行单元测试时抛出异常 - ComponentLookupException::NoSuchElementException::RepositorySystem

转载 作者:行者123 更新时间:2023-12-01 22:26:37 25 4
gpt4 key购买 nike

我正在尝试使用 Artifact maven-plugin-testing-harness:3.3.0 对 Maven 插件的 Mojo 运行单元测试,并具有以下依赖项。但是当我尝试“lookupEmptyMojo”时,会引发以下异常。 有什么快速方法可以解决此配置问题吗?

...
<properties>
<maven.api.version>3.6.2</maven.api.version>
<dependencies>
<!-- Maven plugin deps -->
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>${maven.api.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>${maven.api.version}</version>
<exclusions>
<exclusion>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</exclusion>
</exclusions>
</dependency>

<!-- Tests -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.maven.plugin-testing</groupId>
<artifactId>maven-plugin-testing-harness</artifactId>
<version>3.3.0</version>
<scope>test</scope>
</dependency>
</dependencies>
...

异常(exception):

org.codehaus.plexus.component.repository.exception.ComponentLookupException: java.util.NoSuchElementException
role: org.apache.maven.repository.RepositorySystem
roleHint:
at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:267)
...
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:209)

Caused by: java.util.NoSuchElementException
at org.eclipse.sisu.inject.LocatedBeans$Itr.next(LocatedBeans.java:141)
... 28 more

最佳答案

回来报告如何解决此问题。

我必须添加另外两个依赖项:maven-compat 和 maven-resolver-api。

Test-harness 使用 Maven2 类,因此如果我们使用 Maven3,我们需要添加与我们正在使用的 Maven api 版本相同的 lib maven-compat;该库实现了与旧 API 的向后兼容性。

RepositorySystem 是 maven-resolver-api 库中的一个接口(interface),它与 Artifact 存储库一起使用,可以是远程的、本地的,甚至可以是构建 react 器或 IDE 工作区。

依赖项已添加到 pom 中,如下所示:

<dependency>
<groupId>org.apache.maven.resolver</groupId>
<artifactId>maven-resolver-api</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-compat</artifactId>
<version>${maven.api.version}</version>
<scope>test</scope>
</dependency>

关于java - 为 Maven 插件运行单元测试时抛出异常 - ComponentLookupException::NoSuchElementException::RepositorySystem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58565036/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com