鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

编译安装Spring Boot过程中提示ModifiedClassPathExtensionOverridesTests的解决方法

问题现象描述

编译安装Spring Boot过程中,编译环境通过代理访问外网,会遇到“ModifiedClassPathExtensionOverridesTests”测试失败的问题。

详细提示信息如下图所示。

关键过程、根本原因分析

注解ClassPathOverrides没有正常拉取到依赖导致的问题。

结论、解决方案及效果

  1. 打开ModifiedClassPathClassLoader.java文件。
    vim ./spring-boot-project/spring-boot-tools/spring-boot-test-support/src/main/java/org/springframework/boot/testsupport/classpath/ModifiedClassPathClassLoader.java
  2. “i”进入编辑模式,修改如下内容。
    1. 在第42行的下一行增加代码。
      import org.eclipse.aether.repository.Proxy;

    2. 修改第202-203行内容。
      CollectRequest collectRequest = new CollectRequest(null, Arrays.asList(
                            new RemoteRepository.Builder("central", "default", "https://repo.maven.apache.org/maven2").build()));

      修改为如下信息。

                       RemoteRepository.Builder builder = new RemoteRepository.Builder("central", "default","https://repo.maven.apache.org/maven2");
                       RemoteRepository remoteRepository = builder.setProxy(new Proxy("https", "127.0.0.1", 3128)).build();
                       CollectRequest collectRequest = new CollectRequest(null, Arrays.asList(remoteRepository));

      其中,127.0.0.13128分别表示代理主机的IP地址和端口,操作时请需要根据实际代理环境配置。

      请使用:set list检查格式。不能出现空格,请使用Tab作为代码缩进。

  3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。
  4. 重新执行编译命令。
    mvn spring-javaformat:apply clean install