当前位置: 首页 > article >正文

Win11GBK, idea2024.2.4, 使用Gradle8.8本地安装构建,不使用包装器, 解决utf-8乱码问题, 笔记241028

Win11GBK, idea2024.2.4, 使用Gradle8.8本地安装构建,不使用包装器, 解决utf-8乱码问题, 笔记241028

在这里插入图片描述

解决办法: 在 gradle.properties 配置文件中, 设置jvm启动项参数, 字符编码设为gbk, -Dfile.encoding=gbk 与操作系统保持一致;

 -Dfile.encoding=gbk

如:

org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=gbk

没错, 虽然java文件是utf-8编码, 必须设置为 -Dfile.encoding=操作系统的编码

如果操作系统编码是utf-8就设为utf-8,或者不用设置,
Windows11设置系统编码为 utf-8 的方法是:
控制面板👉区域👉管理 👉 更改系统区域设置 👉 勾选"使用Unicode UTF-8…"
在这里插入图片描述




gradle.properties

gradle.properties 是Gradle构建系统中的一个配置文件,它允许开发者将构建配置与代码分离,从而使得构建过程更加灵活和可配置。以下是对gradle.properties文件的详细解析:

一、文件位置

gradle.properties文件可放在: GRADLE_USER_HOME用户目录下 , 项目的根目录下 , GRADLE_HOME安装目录

  • 在Gradle的用户目录 GRADLE_USER_HOME(Windows和Linux通常是: 用户目录/.gradle)文件初始可能不存在, 可以自己创建一个名为gradle.properties的文件。
  • 项目的根目录下, 文件初始可能不存在, 可以自己创建一个名为gradle.properties的文件。
  • GRADLE_HOME安装目录下, 文件初始可能不存在, 可以自己创建一个名为gradle.properties的文件。

优先级: GRADLE_USER_HOME用户目录 高于> 项目的根目录 高于> GRADLE_HOME安装目录

二、作用与功能

  1. 定义项目版本号:可以在gradle.properties文件中定义项目的版本号,如version=1.0.0,然后在构建脚本中引用该版本号。
  2. 配置JVM参数:通过gradle.properties文件,可以调整Gradle守护进程的JVM参数,比如堆内存大小(org.gradle.jvmargs)。这对于优化构建性能和内存使用非常有用。例如,可以配置为-Xmx2048m -XX:MaxPermSize=512m来限制最大堆内存和永久代大小。
  3. 定义全局属性:在gradle.properties文件中定义的全局属性可以在整个项目中的所有Gradle脚本中使用。这有助于保持配置的一致性和可维护性。例如,可以定义一些常量或路径,以便在多个模块中共享。
  4. 配置构建缓存:可以启用或禁用构建缓存,以及配置缓存的位置和其他相关设置。构建缓存可以显著提高构建效率,因为它允许Gradle重用之前构建的结果。
  5. 设置代理:如果开发环境需要通过代理服务器访问互联网,可以在gradle.properties文件中设置代理信息,以便Gradle能够正确地进行网络通信。
  6. 环境变量:虽然gradle.properties文件主要用于Gradle配置,但也可以在其中设置一些环境变量,以便在构建过程中使用。
  7. 控制构建行为:通过配置相关属性,可以控制Gradle的构建行为,例如是否启用并行执行、是否打印调试信息等。例如,可以配置org.gradle.parallel=true来启用并行构建,或者配置org.gradle.logging.level=info来设置日志级别为info。

三、基本配置示例

以下是一个gradle.properties文件的基本配置示例:

# 定义项目版本号
version=1.0.0

# 定义JVM参数
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

# 定义项目特定的配置
projectName=MyAwesomeProject

# 启用构建缓存
org.gradle.caching=true

# 启用并行执行任务
org.gradle.parallel=true

# 设置日志级别为info
org.gradle.logging.level=info

四、属性值的优先级

  1. 如果全局和局部(如模块级别的gradle.properties文件)属性文件中存在相同属性名,局部属性将覆盖全局属性。
  2. 除了项目根目录下的gradle.properties文件外,还可以在Gradle命令行中直接指定属性值,这些命令行指定的属性将覆盖所有项目和全局配置文件中的属性。

五、使用环境特定的配置文件

Gradle允许根据不同的环境(如开发、测试和生产)定义不同的配置文件。例如,可以创建gradle-dev.properties、gradle-test.properties和gradle-prod.properties等文件,并在gradle.properties中指定环境特定的配置文件:

# gradle.properties
systemProp.file=gradle-${env}.properties

然后在gradle-dev.properties中定义开发环境的配置:

# gradle-dev.properties
version=1.0.0-SNAPSHOT

在构建时,可以通过-Denv=dev参数来指定使用开发环境的配置。

综上所述,gradle.properties文件是Gradle构建系统中非常重要的一个配置文件,它提供了灵活的配置方式,使得开发者可以根据不同的环境和需求来调整构建过程。





http://www.kler.cn/a/377865.html

相关文章:

  • MongoDB 常用操作指南(Docker 环境下)
  • 搭建Elastic search群集
  • DevNow x Notion
  • 服务器证书原理
  • alertmanager告警持久化方案:alertsnitch
  • 初学stm32 --- NVIC中断
  • SpringBoot项目如何设置定时任务总开关
  • 视频Qoe测量学习笔记(一)
  • java中checkbox(只为记录,ai生成)
  • C++日期和时间库
  • Java 数据结构及其在日常业务中的应用!
  • 【代码随想录Day57】图论Part08
  • Rust语言有哪些数据类型?
  • linux super键是什么_linux终端的快捷命令汇总
  • Linux上本地部署KubeSphere与cpolar实现远程管理和监控集群
  • 在centos中安装cmake
  • JVM 类加载机制详解
  • redis详细教程(7.哨兵)
  • 为数据集而生的 SQL 控制台
  • 私有化视频平台EasyCVR视频汇聚平台接入RTMP协议推流为何无法播放?
  • 【LeetCode】每日一题 2024_11_2 使两个整数相等的位更改次数(位运算/模拟)
  • OPENAI官方prompt文档解析
  • 基于知识引导提示的因果概念提取(论文复现)
  • linux 系统扩容
  • (二 上)VB 2010 设计初步
  • Apache Hive 通过Docker快速入门