gpt4 book ai didi

java - 如何修复运行 gradle 的 docker 容器中的 Unicode 字符解析?

转载 作者:行者123 更新时间:2023-12-02 05:26:30 24 4
gpt4 key购买 nike

我试图使用 gradle 在容器内运行 hibernate core java 测试。我在 gradlew 测试期间收到此错误。

Task :hibernate-core:compileTestJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Failed to capture fingerprint of input files for task ':hibernate-core:compileTestJava' property 'source' during up-to-date check.
> Failed to create MD5 hash for file '/hibernate-orm/hibernate-core/src/test/java/org/ hibernate/internal/util/hib3rnat3/C0nst4nts???.java' as it does not exist.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

如何解决这个问题?

文件的实际名称是:/hibernate-orm/hibernate-core/src/test/java/org/hibernate/internal/util/hib3rnat3/C0nst4nts३.java所以我认为这个问题可能是由于文件名编码问题造成的,它无法解析 字符,因此会出现错误。

我想我可以排除 ? 在这里用作通配符的可能性,因为 md5sum 可以很好地使用它。至少 bash 没有问题,gradle 可能有。

root@9eec67a60ee5:/hibernate-orm/hibernate-core# md5sum /hibernate-orm/hibernate-core/src/test/java/org/hibernate/internal/util/hib3rnat3/C0nst4nts???.java 
c2474fdef0224623dccd2615049b2bc8 /hibernate-orm/hibernate-core/src/test/java/org/hibernate/internal/util/hib3rnat3/C0nst4nts३.java

主机上的日志和容器中的日志之间的另一个区别是:

At least one daemon option is different.
Wanted: DefaultDaemonContext[uid=null,javaHome=/jvm/jdk1.8.0_211,daemonRegistryDir=/root/.gradle/daemon,pid=10183,idleTimeout=null,daemonOpts=-XX:+HeapDumpOnOutOfMemoryError,-Xmx1024m,-Dfile.encoding=US-ASCII,-Duser.country=US,-Duser.language=en,-Duser.variant]
Actual: DefaultDaemonContext[uid=4e16e139-fd03-47b2-95b4-92da7853825f,javaHome=/jvm/jdk1.8.0_211,daemonRegistryDir=/root/.gradle/daemon,pid=9578,idleTimeout=10800000,daemonOpts=-XX:+HeapDumpOnOutOfMemoryError,-Xmx1024m,-Dfile.encoding=utf-24,-Duser.country=US,-Duser.language=en,-Duser.variant]

Looking for a different daemon...

此处预期与实际之间的差异在于 file.encoding。

最佳答案

您需要在容器内生成一个区域设置,例如 en_US.UTF-8

$ locale-gen en_IN.utf-8

然后更改环境变量的值 $LANG

$ 导出 LANG=en_US

关于java - 如何修复运行 gradle 的 docker 容器中的 Unicode 字符解析?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56227786/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com