【发布时间】: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'
}
【问题讨论】: