0
点赞
收藏
分享

微信扫一扫

配置Gadle与启动项目Halo博客

1.Gradle简介

Gradle是源于Apache Ant和Apache Maven概念的项目自动化构建开源工具,它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置面向Java应用为主。当前其支持的语言暂时有Java、Groovy、Kotlin和Scala。

  Gradle是一个基于JVM的构建工具,是一款通用灵活的构建工具,支持maven, Ivy仓库,支持传递性依赖管理,而不需要远程仓库或者是pom.xml和ivy.xml配置文件,基于Groovy,build脚本使用Groovy编写。

  IDEA 2017.3以上版本支持。

2.下载

官方网站:https://gradle.org/install/#manually

  提供了两种下载方式,Binary-only是只下载二进制源码,Complete, with docs and sources是下载源码和文档。如果有阅读文档的需求可以下载第二个,没有需要的下载Binary-only即可。

3.安装与配置

解压安装包到想安装到的目录。

  1. 配置
    (1) 配置环境变量
        1) 新建变量

      变量名:GRADLE_HOME

      变量值:解压到的目录

      

    2) 新建变量

      变量名:GRADLE_USER_HOME

      变量值:自定义Gradle仓库目录或者Maven的仓库目录

      

    3) 添加变量

      变量名:Path

      变量值:%GRADLE_HOME%\bin;

      

  (2) 配置Gradle仓库源
    在Gradle安装目录下的 init.d 文件夹下,新建一个 init.gradle 文件,里面填写以下配置。

allprojects {
repositories {
maven { url 'file:///C:/Java/maven_repository'}
mavenLocal()
maven { name "Alibaba" ; url "https://maven.aliyun.com/repository/public" }
maven { name "Bstek" ; url "http://nexus.bsdn.org/content/groups/public/" }
mavenCentral()
}

buildscript { 
    repositories { 
        maven { name "Alibaba" ; url 'https://maven.aliyun.com/repository/public' }
        maven { name "Bstek" ; url 'http://nexus.bsdn.org/content/groups/public/' }
        maven { name "M2" ; url 'https://plugins.gradle.org/m2/' }
    }
}

}

     repositories 中写的是获取 jar 包的顺序。先是本地的 Maven 仓库路径;接着的 mavenLocal() 是获取 Maven 本地仓库的路径,应该是和第一条一样,但是不冲突;第三条和第四条是从国内和国外的网络上仓库获取;最后的 mavenCentral() 是从Apache提供的中央仓库获取 jar 包。

  (3) 配置到IDEA
    在IDEA的Setting里打开"Build, Execution, Deployment"-"Build Tools"-"Gradle"。

    勾选 Use local Gradle distribution,在 Gradle home 中选择安装的Gradle的路径。

    如果在变量和配置文件中设置了Gradle的仓库路径,在 Service directory path 中就会自动填写地址,如果想改的话可以手动修改。

4.导入Halo博客源码

从 GitHub 上拉取项目源码(这里我是直接下载安装包的,这样感觉比较快)

4.运行前遇到的问题

(1)报错如下:

Caused by: org.gradle.api.InvalidUserCodeException: Using insecure protocols with repositories, without explicit opt-in, is unsupported. Switch Maven repository 'maven(http://maven.aliyun.com/nexus/content/groups/public/)' to redirect to a secure protocol (like HTTPS) or allow insecure protocols. See https://docs.gradle.org/7.2/dsl/org.gradle.api.artifacts.repositories.UrlArtifactRepository.html#org.gradle.api.artifacts.repositories.UrlArtifactRepository:allowInsecureProtocol for more details.

改: 修改init.gradle 文件

maven { name "Bstek" ; url "https://nexus.bsdn.org/content/groups/public/" }

maven { name "Bstek" ; url 'https://nexus.bsdn.org/content/groups/public/' }

(2) 报错:

Error running 'Application': Command line is too long. Shorten command line

改:

首先找到 .idea/libraies/workspace.xml 中的 <component name="PropertiesComponent">

在该组件中添加代码为:&lt;property name="dynamic.classpath" value="true" /&gt;

(3) idea 弹出提示

The IDE modules below were removed by the Gradle project reload:
halo-master

You can open dialog to select the ones you need to restore.

处理办法:

open dialog 后选择check ,点击ok ,会发现加载了一个模块[halo]。

5.项目启动前请做好如下准备:

  1. 确保 JDK 的版本符合要求,本文使用 JDK 11;

  2. 确保所有的依赖都正常导入(本次实践未发生异常);

  3. 确保 resources/templates/themes 目录不为空,正常情况下应该有 anatole 文件夹。为空是因为使用 Git 克隆时没有克隆子模块,可以在Halo 官网的主题仓库下载 Anatole 主题,解压后重命名为 anatole,并复制到 themes 目录下;

  4. Halo 默认使用 H2 Database,该数据库无需安装,因此可以直接启动项目。如果希望使用 MySQL,则需要在 application.yaml 文件中注释掉 H2 Database 的配置,并添加 MySQL 的相关配置(数据库名为 'halodb'):

    # MySQL 配置
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/halodb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
    username: root
    password: 123456

6.运行建议点击bootRun

1653760025049.png

7.运行成功

1653761264477.png

1653761219706.png

仅作个人部署Halo博客遇到问题整理记录 ,解决方案从网上多位大佬文章整理而来,感谢大佬分享。

举报

相关推荐

0 条评论