gradle proxy配置

本文详细介绍了如何在公司内通过设置gradle代理解决网络限制,并处理https证书验证问题,包括配置步骤、证书导入方法及注意事项,适用于开发者在受限网络环境下的gradle工作流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

由于公司的网络无法直接访问外网,在用gradle的时候,必须配置代理

代理配置

gradle的代理配置网上教程较多,这里基本上也是复制网上的基础配置,谨以此作为备案,以便后续查看

systemProp.http.auth.ntlm.domain=CHINA
systemProp.http.keepAlive=true
systemProp.http.proxyHost=your proxy host
systemProp.http.proxyPort=8080
systemProp.http.proxyUser=your acount if needed
systemProp.http.proxyPassword=your password if needed
systemProp.http.nonProxyHosts=*.xxxx.com|localhost|127.0.0.1
systemProp.https.proxyHost=your proxy host
systemProp.https.proxyPort=8080
systemProp.https.proxyUser=your acount if needed
systemProp.https.proxyPassword=your password if needed
systemProp.https.nonProxyHosts=*.xxxx.com|localhost|127.0.0.1

在gradle工程中,最好在以下两个文件中,均添加以上配置:

  • ./gradle.properties
  • ./gradle/wrapper/gradle-wrapper.properties

证书导入

由于gradle的maven源经常是https协议的,这样会导致https的证书错误:

sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: signature check failed
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: signature check failed

因此需要根据build.gradle中访问的网址将需要的证书逐个导入到jdk中:

keytool -import -alias your_alias_name -keystore $JAVA_HOME/lib/security/cacerts  -file  your_cer_file

证书可以通过使用浏览器访问该网站,然后导出到文件中,编码选择base64编码即可

这里需要注意,证书有时候是多级认证的,因此需要逐个导出,此外,根据工程访问的repo源不同,需要的证书有可能不一样,因此都需要逐个导出,并导入到编译环境中,否则无法访问相关文件

最后在gradle.properties(gradle-wrapper.properties)文件中指明cacerts路径:

systemProp.javax.net.ssl.trustStore=/home/paas/jdk-11.0.2/lib/security/cacerts
systemProp.javax.net.ssl.trustStorePassword=changeit

个人小站: freejared.top

### 如何在 IntelliJ IDEA 中设置和配置 Gradle 构建工具 #### 创建 Spring Boot 项目并配置 Gradle 为了通过 Gradle 在 IntelliJ IDEA 中创建一个新的 Spring Boot 项目,可以按照如下方式操作: 1. 打开 IntelliJ IDEA 并选择 "New Project". 2. 在弹出窗口中选择 “Spring Initializr”,这允许开发者指定项目的元数据以及所需的依赖项. 3. 设置好项目名称和其他细节之后点击 "Next". 接下来,在 "Project SDK" 页面上确认已安装合适的 JDK 版本. 4. 到达最后一步时,确保选择了 "Gradle" 作为构建系统而不是 Maven. 完成上述步骤后,IntelliJ 将会自动生成必要的 `build.gradle` 文件连同其他初始文件一起构成完整的 Spring Boot 应用程序结构。 #### 配置 Gradle 局部与全局依赖下载镜像 对于局部依赖下载镜像的配置,可以在项目的根目录下的 `init.gradle` 或者用户家目录中的 `.gradle/init.d/` 下面放置一个初始化脚本来实现。例如: ```groovy allprojects { repositories { maven { url 'https://mirrors.aliyun.com/maven2/' } } } ``` 至于全局范围内的设置,则可以通过编辑位于用户主目录下 .gradle 文件夹里的 `gradle.properties` 文件来进行调整。添加如下属性即可改变默认仓库地址: ```properties systemProp.http.proxyHost=your_proxy_host systemProp.http.proxyPort=8080 org.gradle.daemon=true org.gradle.parallel=true // 更多配置... ``` 需要注意的是,这些更改只会影响当前用户的环境,并不会影响到系统的其它部分或其他账户[^1]。 #### 添加新依赖至现有项目 当需要向现有的 Gradle 工程里引入新的库或框架的时候,只需打开工程对应的 `build.gradle` 文件并将相应的依赖声明加入其中。比如要增加 JUnit 测试框架的支持,可按下面的方式编写: ```groovy dependencies { testImplementation('org.junit.jupiter:junit-jupiter-api:5.7.0') testRuntimeOnly('org.junit.jupiter:junit-jupiter-engine:5.7.0') } ``` 保存变更后的文件,随后让 IDE 同步更新项目状态以应用最新的改动。 #### Gradle 对比 Maven 的优势 相比于传统的 Apache Maven,Gradle 提供了一些显著的优势,其中包括但不限于更灵活的任务定义机制、更好的性能表现(尤其是增量编译)、易于扩展的能力和支持多种编程语言等特性。此外,由于采用了 Groovy DSL 进行描述,使得整个 build 脚本看起来更为简洁直观[^2]. #### 使用本地搭建好的 Gradle 环境 如果已经自行安装了一个独立版本的 Gradle,那么可以直接告知 IntelliJ 不再使用内置的 wrapper 而是指定外部路径上的 gradle 可执行文件。具体做法是在 File -> Settings (Preferences on macOS) -> Build, Execution, Deployment -> Build Tools -> Gradle 中找到 Use local gradle distribution 复选框勾选之,并填写正确的路径指向目标位置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

棋子闲敲

如果对您有用,可以请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值