本地运行halo碰到的问题

Published on
53 10~13 min

今天在本地运行halo(halo-dev/halo: 强大易用的开源建站工具。)时,遇到了一个gradlew无法构建项目的问题,由于是初次使用gradlew构建项目,现在把中间遇到的问题记录下

首先说明下使用的工具及版本

  • idea:2021.3.3

  • jdk版本:openjdk 17.0.13

  • Node.js版本: 20.18.0

  • gradlew版本:8.8

1.gradlew初始化慢(下载gradle-8.8-bin.zip速度慢)

  • 方式一:将项目目录下gradle/wrapper/gradle-wrapper.properties中的distributionUrl更换为:

https://mirrors.cloud.tencent.com/gradle/gradle-8.8-bin.zip

  • 方式二:将distributionUrl指向本地已经下载好的gradle,即改为

distributionUrl=file\:/// 你的gradle压缩包路径

2.gradlew依赖加载缓慢

在gradlew安装目录下找到init.d文件夹,打开文件夹中的init.gradle文件(没有的话新增一个),在里面配置gradle的仓库地址,如下所示:

buildscript { 
    repositories { 
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } 
        maven { url 'https://plugins.gradle.org/m2/' }
    }
}
allprojects {
    repositories {
        def ALIYUN_REPOSITORY_URL = 'https://maven.aliyun.com/repository/public/'
        all { ArtifactRepository repo ->
            if(repo instanceof MavenArtifactRepository){
                def url = repo.url.toString()
                if (url.startsWith('https://repo1.maven.org/maven2')||url.startsWith('https://jcenter.bintray.com')) {
                    project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."
                    remove repo
                }
            }
        }
        maven { 
            url ALIYUN_REPOSITORY_URL
        }
    }
}
​

3.Idea 右侧不显示gradle插件

右击项目下的build.gradle文件,选择Link Gradle Project选项即可

4.idea中的gradle和项目都选择了jdk17,但是依赖依旧无法导入

以下仅针对个人情况,不一定适用于其他情形导致的项目无法运行问题

系统一共配置了3套JDK环境,jdk1.8,jdk11,jdk17,虽然已经在系统环境变量里配置jdk_home指向了jdk17的安装路径,但实际上系统依旧使用了jdk8的版本,原因是java1.8在安装时会将java.exe等文件复制到C:\Program Files (x86)\Common Files\Oracle\Java\javapath路径下,且由于该配置在Path配置的首行,所以优先读取改行的配置,导致jdk和gradle出现版本不兼容的情况

image-20241031113856361.png

解决方式:

  • 方式一:将Path中的C:\Program Files (x86)\Common Files\Oracle\Java\javapath移到Path末尾

  • 方式二:删除C:\Program Files (x86)\Common Files\Oracle\Java\javapath路径下的java可执行文件,使其读取JAVA_HOME中的jdk配置

推荐使用方式一