gpt4 book ai didi

java - Kotlin:在具有加密主页的 Linux 上:java.io.FileNotFoundException(文件名太长)

转载 作者:搜寻专家 更新时间:2023-11-01 02:57:50 25 4
gpt4 key购买 nike

在加密的 linux 主目录下,我的 Kotlin 构建(使用 maven)失败并出现“java.io.FileNotFoundException(文件名太长)”。

文件名看起来像这样,长度为 298 个字符:

/home/niel/projects/project/bla/.../bla/.../bla/SomeTest$test name with spaces$1.class

测试看起来像这样:

@Test
fun `test with nice descriptive name`() {
// ...
}

getconf NAME_MAX/ 返回 255,比文件名的 298 多。

Scala 有一种方法可以使用 max-classfile-name 来处理这个问题选项。

在 Kotlin 中有解决这个问题的方法吗?

最佳答案

我一直在为同样的问题而烦恼。在这种描述性命名的测试方法中使用 lambda 时,问题会加剧(主要发生?)。

在我的例子中,我在 ext4 之上使用带有加密文件名的 ecryptfs。鉴于 ecryptfs 添加到文件名开头的有效载荷和填充,似乎 ~140 bytes is the usable maximum filename length .

我不知道 Kotlin 中有什么机制可以解决这个问题,但如果您使用的是 JUnit 5,则可以使用 @DisplayName更详细的测试名称的注释。

关于java - Kotlin:在具有加密主页的 Linux 上:java.io.FileNotFoundException(文件名太长),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48338025/

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