RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1406763
Accepted
Zhenyria
Zhenyria
Asked:2022-07-05 16:45:22 +0000 UTC2022-07-05 16:45:22 +0000 UTC 2022-07-05 16:45:22 +0000 UTC

编译 Gradle 项目时出现编码错误

  • 772

我有一个 Java 项目Gradle。执行命令./gradlew build时,出现编译错误:

用于编码 Cp1251 的不可映射字符

工程中有西里尔文行,所有工程文件都设置了编码UTF-8,但还是报错。我添加了build.gradle以下几行:

compileJava {
    options.encoding = 'UTF-8'
}

tasks.withType(Javadoc) {
    options.encoding = 'UTF-8'
}

没有变化。唯一有帮助的是将某些西里尔文文件中的编码从 手动更改UTF-8为windows-1251,但这看起来不是一个干净的解决方案。作为一个工作系统,我使用 Windows 8.1。

我怎么解决这个问题?

22 年 5 月 25 日的更新:我尝试以application这种方式连接和使用插件:

plugins {
    id "application"
}

applicationDefaultJvmArgs = ["-Dfile.encoding=UTF-8"]

但这也不会改变任何事情。在构建过程中,由于几行使用西里尔文的代码,错误再次发生。例如,这是错误之一:

error: unmappable character for encoding Cp1251
{"╨п╨╜╨▓", "╨д╨╡╨▓", "╨Ь╨░╤А", "╨Р╨┐╤А", "╨Ь╨░╨╣", "╨?╤О╨╜", "╨?╤О╨╗", "╨Р╨▓╨│", "╨б╨╡╨╜", "╨Ю╨║╤В", "╨Э╨╛╤П", "╨Ф╨╡╨║"};

而原始代码是:

{"Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"};
java windows
  • 1 1 个回答
  • 195 Views

1 个回答

  • Voted
  1. Best Answer
    Zhenyria
    2022-07-27T13:07:20Z2022-07-27T13:07:20Z

    通过添加以下代码来解决编码错误build.gradle:

    compileJava.options.encoding = 'UTF-8' // устанавливает кодировку для компилируемого кода
    javadoc.options.encoding = 'UTF-8' // устанавливает кодировку для генерируемой документации
    compileTestJava.options.encoding = 'UTF-8'
    
    tasks.withType(JavaCompile) {
        options.encoding = 'UTF-8'
    }
    

    这是互联网上常见的解决方案,但在我的情况下不起作用。由于我有一个多模块项目,因此我将这些设置放在build.gradle根目录的主要设置中。但是,子项目仍然发生编码错误。由于某种原因,父项目的设置没有被继承,所以有两个选项来解决这个问题:

    1. build.gradle为每个存在编码问题的模块添加设置。
    2. 创建groovy插件以连接到build.gradle每个模块并为其添加设置。

    我选择了第二个选项,因为我已经有一个连接到项目的每个模块的自写插件。

    • 0

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5