编译安装Spring Boot过程中提示ModifiedClassPathExtensionOverridesTests的解决方法
问题现象描述
编译安装Spring Boot过程中,编译环境通过代理访问外网,会遇到“ModifiedClassPathExtensionOverridesTests”测试失败的问题。
详细提示信息如下图所示。
关键过程、根本原因分析
注解ClassPathOverrides没有正常拉取到依赖导致的问题。
结论、解决方案及效果
- 打开ModifiedClassPathClassLoader.java文件。
vim ./spring-boot-project/spring-boot-tools/spring-boot-test-support/src/main/java/org/springframework/boot/testsupport/classpath/ModifiedClassPathClassLoader.java
- 按“i”进入编辑模式,修改如下内容。
- 在第42行的下一行增加代码。
import org.eclipse.aether.repository.Proxy;
- 修改第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.1和3128分别表示代理主机的IP地址和端口,操作时请需要根据实际代理环境配置。
请使用:set list检查格式。不能出现空格,请使用Tab作为代码缩进。
- 在第42行的下一行增加代码。
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 重新执行编译命令。
mvn spring-javaformat:apply clean install
父主题: 故障排除