博客 / 詳情

返回

DevEco Studio創建Java項目,gradle報sync failed:connection reset錯誤

使用DevEco Studio 3.1.1版本,創建Java應用,程序報錯,無法運行。

image.png

image.png

image.png

原因:

DevEco Studio新建的Java應用默認的gradle配置指向的是https://repo.huaweicloud.com,而你的網絡因為各種原因(比如公司網絡),無法訪問,所以會報錯。

解決方法

1.設置代理

  1. 打開File > Settings > Appearance & Behavior > System Settings > HTTP Proxy配置界面。
  2. 勾選Manual proxy configuration,設置DevEco Studio的HTTP Proxy。

HTTP配置項,設置代理服務器信息。如果不清楚代理服務器信息,可以諮詢你們的網絡管理人員。

Host name:代理服務器主機名或IP地址。
Port number:代理服務器對應的端口號。
No proxy for:不需要通過代理服務器訪問的URL或者IP地址(地址之間用英文逗號分隔)。

Proxy authentication配置項,如果代理服務器需要通過認證鑑權才能訪問,則需要設置。否則,請跳過該配置項。

Login:訪問代理服務器的用户名。
Password:訪問代理服務器的密碼。
Remember:勾選,記住密碼。

圖片

配置完成後,點擊Check connection,輸入網絡地址(https://repo.huaweicloud.com),檢查網絡連通性。提示“Connection successful”表示代理設置成功。然後點擊OK按鈕完成配置。

2.項目修改配置信息

  1. 打開${Java應用目錄}/gradle/wrapper/gradle-wrapper.properties,可以知道項目在獲取不到gradle的時候會去https\://repo.huaweicloud.com/gradle/gradle-7.3-bin.zip 下載

image.png

  1. 在https://gradle.org/releases/ 官網下下載對應的gradle-7.3-bin文件

image.png

  1. 將該文件放於 C:\Users\${你電腦用户名}.gradle
  2. 修改gradle-wrapper.properties的distributionUrl

image.png

  1. 修改build.gradle配置文件,(由於我可以訪問https://maven.aliyun.com/repository/public,所以配置成這個地址,你根據實際情況配置maven倉庫地址,可以是公司的私有庫,但是可能存在有些包找不到的情況,這種情況下就缺哪個包你就導入哪個包到公司私有庫即可)

image.png

  1. 點擊file->Sync and Refresh Project 等待下載即可

image.png

  1. 成功

image.png

image.png

3.項目修改默認配置

使用2方法的話每次新建項目都得修改,太麻煩了,可以通過修改DevEco Studio模板的方式進行統一配置

  1. 修改gradle-wrapper.properties文件,它位於 ${Dev Eco Studio下安裝目錄}\plugins\harmony\lib\templates\project\New Project\code template\gradle\wrapper
# default config
#distributionBase=GRADLE_USER_HOME
#distributionPath=wrapper/dists
#distributionUrl=https\://repo.huaweicloud.com/gradle/gradle-7.3-bin.zip
#zipStoreBase=GRADLE_USER_HOME
#zipStorePath=wrapper/dists

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=file:///C:/Users/${你電腦用户名}/.gradle/gradle-7.3-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
  1. 修改build.gradle.ftl文件,它位於 ${Dev Eco Studio下安裝目錄}\plugins\harmony\lib\templates\project\New Project\code template\
// Top-level build file where you can add configuration options common to all sub-projects/modules.
apply plugin: 'com.huawei.ohos.app'

//For instructions on signature configuration, see ${signConfigHelpUrl}
ohos {
    compileSdkVersion ${compileSdkVersion}
<#if isSupportSystemStandard>
    supportSystem "standard"
</#if>
}
    
/* default config
buildscript {
    repositories {
    <#if configMavenUrl1?? && configMavenUrl1 != "">
        maven {
            url '${configMavenUrl1}'
        <#if configMavenUrl1?contains("http://")>
            allowInsecureProtocol = true
        </#if>
        }
    </#if>
    <#if configMavenUrl2?? && configMavenUrl2 != "">
        maven {
            url '${configMavenUrl2}'
        <#if configMavenUrl2?contains("http://")>
            allowInsecureProtocol = true
        </#if>
        }
    </#if>
    <#if configMavenUrl3?? && configMavenUrl3 != "">
        maven {
            url '${configMavenUrl3}'
        <#if configMavenUrl3?contains("http://")>
            allowInsecureProtocol = true
        </#if>
        }
    </#if>
    }
    dependencies {
        classpath 'com.huawei.ohos:hap:${configHapVersion}'
        classpath 'com.huawei.ohos:decctest:${configDecctestVersion}'
    }
}

allprojects {
    repositories {
    <#if configMavenUrl1?? && configMavenUrl1 != "">
        maven {
            url '${configMavenUrl1}'
        <#if configMavenUrl1?contains("http://")>
            allowInsecureProtocol = true
        </#if>
        }
    </#if>
    <#if configMavenUrl2?? && configMavenUrl2 != "">
        maven {
            url '${configMavenUrl2}'
        <#if configMavenUrl2?contains("http://")>
            allowInsecureProtocol = true
        </#if>
        }
    </#if>
    <#if configMavenUrl3?? && configMavenUrl3 != "">
        maven {
            url '${configMavenUrl3}'
        <#if configMavenUrl3?contains("http://")>
            allowInsecureProtocol = true
        </#if>
        }
    </#if>
    }
}
*/

buildscript {
    repositories {
        maven {
            url 'https://maven.aliyun.com/repository/public'
        }
        maven {
            url 'https://developer.huawei.com/repo/'
        }
    }
    dependencies {
        classpath 'com.huawei.ohos:hap:3.1.5.0'
        classpath 'com.huawei.ohos:decctest:1.2.7.20'
    }
}

allprojects {
    repositories {
        maven {
            url 'https://maven.aliyun.com/repository/public'
        }
        maven {
            url 'https://developer.huawei.com/repo/'
        }
    }
}
  1. File-> Invalid Caches... 進行清理緩存並重啓,讓模板生效

image.png

  1. happy coding

其他

修改gradle包下載地址

在使用File->New Projects Setup->Settings for New Project...->Build,Execution,Deployment->Build Tools->Gradle->Gradle user home修改gradle包下載地址的時候,發現新建的項目依然還是C:/Users/${你電腦用户名}/.gradle

image.png

解決方法:配置環境變量

image.png

user avatar ivyzhang 頭像 buxia97 頭像 mulander 頭像 thepoy 頭像 qiehxb8 頭像 niaonao 頭像 mianduijifengba_59b206479620f 頭像 shellingfordly 頭像 tyhan 頭像 tangtaixian_5fc4b5d1c3eff 頭像 qianxiaqingkong 頭像
11 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.