Maven嵌入器:无法解决编译器依赖性-没有可用的连接器工厂

use*_*356 2 java maven

我已经Maven项目一个。项目采用Maven嵌入3.2.5并建立与IT项目

MavenCli mavenCli = new MavenCli();
mavenCli.doMain(new String[] {"package"}, "C:\\Users\\JohnDoe\\Desktop\\abc", System.out, System.out);
Run Code Online (Sandbox Code Playgroud)

但我得到一个例外:

插件org.apache.maven.plugins:maven-compiler-plugin:3.1或其依赖项之一无法解析:无法读取org.apache.maven.plugins:maven-compiler-plugin:jar:3.1的工件描述符:无法从/到中央传输工件org.apache.maven.plugins:maven-compiler-plugin:pom:3.1(https://repo.maven.apache.org/maven2):没有可用的连接器工厂

我查看了本地存储库文件夹,确实没有插件版本3.1。如果我手动将其放置在那里,则构建成功。但是AFAIK maven会自动下载所有必需的插件。但这不会发生。

use*_*356 6

添加这些依赖关系解决了我的问题

 <dependency>
  <groupId>org.eclipse.aether</groupId>
  <artifactId>aether-connector-basic</artifactId>
  <version>1.0.2.v20150114</version>
</dependency>
<dependency>
  <groupId>org.eclipse.aether</groupId>
  <artifactId>aether-transport-wagon</artifactId>
  <version>1.0.2.v20150114</version>
</dependency>
<dependency>
  <groupId>org.apache.maven.wagon</groupId>
  <artifactId>wagon-http</artifactId>
  <version>2.8</version>
  </dependency>
<dependency>
  <groupId>org.apache.maven.wagon</groupId>
  <artifactId>wagon-provider-api</artifactId>
  <version>2.8</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)