我从git存储库下载了Etherium客户端Java库 web3j 。当我尝试编译源代码时,它会失败,因为某些源文件是使用UTF-8编码创建的,但是gradle采用我的操作系统默认编码(Cp1250)。
C:\web3j\web3j-master>gradlew install
> Task :crypto:javadoc FAILED
C:\web3j\web3j-master\crypto\src\main\java\org\web3j\crypto\Sign.java:102: error: unmappable character for encoding Cp1250
// routine specified in Section 2.3.7, where mlen = Ôî?(log2 p)/8Ôîë or mlen = Ôî?m/8Ôîë.
^
C:\web3j\web3j-master\crypto\src\main\java\org\web3j\crypto\Sign.java:102: error: unmappable character for encoding Cp1250
// routine specified in Section 2.3.7, where mlen = Ôî?(log2 p)/8Ôîë or mlen = Ôî?m/8Ôîë.
^
2 errors
如何强制gradle采用UTF-8编码而不是操作系统默认编码?
答案 0 :(得分:0)
apply plugin: "java"
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
}
答案 1 :(得分:0)
我已经从错误的Java源代码中删除了UTF-8字符(只有少数几个,它们都是Java注释的一部分)。修改后gradle构建成功。