---
title: 编译Spring Boot时提示java.net.UnknownHostException的解决方法
description: "编译Spring Boot过程中需要访问“self-signed.badssl.com”，提示“java.net.UnknownHostException”。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengwebs/ecosystemEnable/SpringBoot/kunpengspringboot_02_0013.html
sourcePath: /source/zh/kunpengwebs/ecosystemEnable/SpringBoot/kunpengspringboot_02_0013.html
indexId: fd42358c9c070bda537fb3ae6c3c114faea6e6260bf2e6ec3b472381d7bf119480
---
# 编译Spring Boot时提示java.net.UnknownHostException的解决方法

#### 问题现象描述

编译Spring Boot过程中需要访问“self-signed.badssl.com”，提示“java.net.UnknownHostException”。


#### 关键过程、根本原因分析

Host未建立映射关系，可以通过增加代理配置解决。


#### 结论、解决方案及效果

1. 打开ReactiveCloudFoundrySecurityService.java文件。

```
vim ./spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/ReactiveCloudFoundrySecurityService.java
```


2. 按“i”进入编辑模式，修改文件中如下内容。

  a. 在第27行下面新增如下内容。

```
import reactor.netty.tcp.ProxyProvider;
```


  b. 在第64行插入如下代码。

```
else {
HttpClient client = HttpClient.create().tcpConfiguration(tcpClient -> {
tcpClient = tcpClient.proxy(proxy -> proxy.type(ProxyProvider.Proxy.HTTP).host("
127.0.0.1
")
.port(
3128
).nonProxyHosts("localhost|my*.com").build());
return tcpClient;
});
webClientBuilder.clientConnector(new ReactorClientHttpConnector(client));
}
```


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

  c. 修改第77行为如下代码。

```
HttpClient client = HttpClient.create().tcpConfiguration(tcpClient -> {
tcpClient = tcpClient.proxy(proxy -> proxy.type(ProxyProvider.Proxy.HTTP).host("
127.0.0.1
").port(
3128
)
.nonProxyHosts("localhost|my*.com").build());
return tcpClient;
}).secure((sslContextSpec) -> sslContextSpec.sslContext(createSslContext()));
return new ReactorClientHttpConnector(client);
```


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

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

3. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
4. 重新编译Spring Boot。
