【问题标题】:gradle javadoc fail on UTF-8 chars, only on windowsgradle javadoc 在 UTF-8 字符上失败,仅在 Windows 上
【发布时间】:2017-10-06 04:30:38
【问题描述】:

所以我有一个基于 gradle 的 java 项目,有大量的匈牙利文档字符串,这意味着很多非 ASCII 字符。

javac 在源代码中使用 utf-8 字符,完全没问题,据我所知,javadoc 也应该。

在构建 gradle 中有一个创建 java doc jar 的任务

task javadocJar(type: Jar, dependsOn: javadoc) {
    classifier = 'javadoc'
    from javadoc.destinationDir
}

artifacts {
    archives sourcesJar
    archives javadocJar
}

当我运行gradle build 时,它失败并出现以下错误:

:编译Java C:\Home\Projects\InventoryCore\src\main\java\hu\rfit\inventory\models\entities\ItemState.java:11: 错误:用于编码 Cp1252 * ├?ru / term├⌐k 的不可映射字符 ├illapot。 ^ :processResources UP-TO-DATE :classes :jar :javadoc C:\Home\Projects\InventoryCore\src\main\java\hu\rfit\inventory\models\entities\ItemState.java:11: 错误:用于编码 Cp1252 * ├?ru / term├⌐k 的不可映射字符 ├illapot。 ^ 1 个错误:javadoc 失败

FAILURE:构建失败并出现异常。 什么地方出了错: 任务“:javadoc”执行失败。 Javadoc 生成失败。生成的 Javadoc 选项文件(用于故障排除):'C:\Home\Projects\InventoryCore\build\tmp\javadoc\javadoc.options'

最好的部分是它在构建管道中完美运行,而在我的其他操作系统(ubuntu 16.04 lts)上它只在 Windows 上失败。

我已经尝试了 git repo 的全新克隆,将 java jdk 更新为最新版本(oracle jdk 1.8.0_131 之前是 _73 和 _111 都尝试过)。 项目中的所有文件都是utf-8编码的,还尝试将javadoc设置放入我的build.gradle文件中,

javadoc {
    options.charSet = 'UTF-8'
}

【问题讨论】:

    标签: java gradle


    【解决方案1】:

    我怀疑你想要

    options.encoding = 'UTF-8'
    

    这将符合以下的 javadoc 帮助文本:

    -encoding <name>                 Source file encoding name
    

    ... 而charSet 似乎会影响输出。 (我希望它已经默认为 UTF-8..)

    【讨论】:

      猜你喜欢
      • 2016-11-01
      • 1970-01-01
      • 2015-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-12
      相关资源
      最近更新 更多