Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为maven插件运行单元测试时引发异常-ComponentLookupException::NosTouchElementException::RepositorySystem_Java_Maven_Unit Testing_Maven Plugin - Fatal编程技术网

Java 为maven插件运行单元测试时引发异常-ComponentLookupException::NosTouchElementException::RepositorySystem

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

我尝试使用工件Maven插件测试工具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>
...

回来报告如何修复此问题

我必须添加另外两个依赖项: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>