Java 为maven插件运行单元测试时引发异常-ComponentLookupException::NosTouchElementException::RepositorySystem
我尝试使用工件Maven插件测试工具3.3.0对Maven插件的Mojo运行单元测试,并具有以下依赖项。但当我尝试“lookupEmptyMojo”时,会抛出下面的异常有没有快速解决此配置问题的方法?Java 为maven插件运行单元测试时引发异常-ComponentLookupException::NosTouchElementException::RepositorySystem,java,maven,unit-testing,maven-plugin,Java,Maven,Unit Testing,Maven Plugin,我尝试使用工件Maven插件测试工具3.3.0对Maven插件的Mojo运行单元测试,并具有以下依赖项。但当我尝试“lookupEmptyMojo”时,会抛出下面的异常有没有快速解决此配置问题的方法? ... <properties> <maven.api.version>3.6.2</maven.api.version> <dependencies> <!-- Maven plugin deps --> <dependenc
...
<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>
...
回来报告如何修复此问题 我必须添加另外两个依赖项:maven compat和maven resolver api 测试工具使用Maven2类,因此如果我们使用Maven3,我们需要添加与我们使用的MavenAPI版本相同的lib maven compat;此库实现了与旧api的向后兼容性 RepositorySystem是maven resolver api库中的一个接口,它与工件存储库一起工作,可以是远程、本地,甚至是构建reactor或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>
org.apache.maven.resolver
maven解析器api
1.3.1
org.apache.maven
马文同胞
${maven.api.version}
测试
<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>