---
title: spring-cloud-function依赖拉取问题的解决方法
description: "如果编译环境使用代理访问外部网络，可能会遇到依赖拉取失败的问题。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengwebs/ecosystemEnable/SpringCloud/kunpengspringcloudhoxton_02_0037.html
sourcePath: /source/zh/kunpengwebs/ecosystemEnable/SpringCloud/kunpengspringcloudhoxton_02_0037.html
indexId: 64b06f59b773c441cc0678a7eaeed3350c1a7ca4cabb54483db9b3427cec40a988
---
# spring-cloud-function依赖拉取问题的解决方法

#### 问题现象描述

如果编译环境使用代理访问外部网络，可能会遇到依赖拉取失败的问题。


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

编译环境需要通过代理访问外部网络。


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

您可以通过配置代理或将Maven库替换为华为Maven库来解决当前问题。

方法一：配置代理

1. 打开DependencyResolver.java文件。

```
vim ./spring-cloud-function-compiler/src/main/java/org/springframework/cloud/function/compiler/java/DependencyResolver.java
```


2. 修改以下三处代码后，保存并退出文件。

  - 在第81行的下一行添加代码。

```
import org.eclipse.aether.repository.Proxy;
```


  - 将280行修改为：

```
.setReleasePolicy(policy(input.getReleases()))
```


  - 在第281行添加内容。

```
.setProxy(new Proxy("https","
127.0.0.1
",
3128
)).build();
```


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

3. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
4. 打开RuntimeJavaCompilerTests.java文件。

```
vim ./spring-cloud-function-compiler/src/test/java/org/springframework/cloud/function/compiler/java/RuntimeJavaCompilerTests.java
```


5. 将第142行的“find”修改为“transfer”。
6. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
7. 重新执行编译命令。

```
./mvnw clean install -Dgpg.skip=true
```


方法二：将Maven库替换为华为Maven库

1. 打开DependencyResolver.java文件。

```
vim ./spring-cloud-function-compiler/src/main/java/org/springframework/cloud/function/compiler/java/DependencyResolver.java
```


2. 更改为华为鲲鹏Maven仓库。
3. 在“/etc/hosts”中添加华为鲲鹏Maven仓库对应的IP地址。
  1 2 echo 172.30.163.193 mirrors.huaweicloud.com >> /etc/hosts cat /etc/hosts

4. 为spring-cloud-function-deployer模块添加代理。

```
vim spring-cloud-function-deployer/src/it/settings.xml
```


  其中username，password，host，port需要根据当前环境进行修改配置。

5. 重新执行编译命令。

```
./mvnw clean install -Dgpg.skip=true
```
