我收到一条错误消息,说我的文件太长了。
[info] Compiling 29 Scala sources to /home/chris/dev/suredbits-core/target/scala-2.11/classes...
[error] File name too long
[error] one error found
[error] (compile:compile) Compilation failed
[error] Total time: 7 s, completed Feb 17, 2015 8:10:25 AM
如何查找哪个文件太长,以便缩短文件名?我添加了编译器标志-Xmax-classfile-name
并将其设置为254。
答案 0 :(得分:54)
如果您的/home
是加密文件系统(例如LUKS),则可能会遇到此问题。
将max-classfile-name
设置为254是默认设置(或者可能是255) - 因此您不会将其减少太多。您可能应该考虑更接近70 - 100的最大长度。您可以通过使用scalac覆盖创建~/.sbt/0.13/local.sbt
来为所有项目设置它:
scalacOptions ++= Seq("-Xmax-classfile-name","78")
答案 1 :(得分:13)
这就是我解决问题的方法
mkdir /tmp/myproject-target
cd ~/workspace/myproject
rm -rf target
ln -s /tmp/myproject-target target
答案 2 :(得分:7)
我在IntelliJ Ultimate 2016.1.2(类似于Intellij 14)中遇到了这个问题。我通过设置来解决它:
-Xmax-classfile-name 78
在文件>设置...>构建,执行,部署>编译器> Scala编译器>其他编译器选项。
注意:选项名称及其值(" 78")之间有空格,而不是等号。
答案 3 :(得分:0)
尝试使用像这样的shell脚本:
#!/bin/sh
for file in *; do {
echo -m "$file" | wc -m;
echo "$file"
}
done
在src / main / scala目录中运行它应该显示哪些文件的名称超过254个字符。我希望这能回答你的问题。
答案 4 :(得分:0)
我想提供一种不同的方法:
可以使用复杂密码创建容器并在登录时挂载
veracrypt -t --pim = 0 --protect-hidden = no -k“” - p $ PASSWORD $ ENCRYPTED_CONTAINER $ MOUNT_DIR