Scala可以在交互模式下运行但无法执行脚本的解决方法

本文记录了一次Scala无法执行脚本的问题排查过程。起初怀疑环境变量设置不当,但发现真正的原因在于本地主机名称未正确配置在/etc/hosts文件中。通过添加主机名解决了问题,并探讨了该问题可能对服务器资源造成的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在重新尝试了 N 天的 Gnome 后,我回到了久违的 KDE,随即发现:Scala 无法执行脚本了忍者

开始以为是环境变量的问题,但执行 scala 命令,很顺利的进入了交互模式。随后检查执行权限、升级 java、查看其它工具如 groovy 之类,均无果。

Google 之,见一帖 problem running scala script。一读,居然是本机环回的设置问题。于是打开 /etc/hosts 试在 127.0.0.1 那行末尾加上本机名,故障解决。对于多数使用自动网络配置的人来说,一般不会碰到这样的问题,但是对于服务器或重要的工作站,我有时倾向于使用最简洁的参数手动配置,很可能就不会在 hosts 文件里加多余的本机名。(如果装了 Oracle 的机器情况会不同,但是 Oracle 的一贯作风都是只要能工作,难看不难看无所谓……)

PS. Scala 的这一个故障着实让我很恼火,因为没有哪个 Java 程序员在遇到这样的问题时会怀疑到网络设置的。事实上在安装 Scala 的过程中,所有的过程和说明“似乎都指出 Scala 唯一的依赖是 JDK”,然而这个错误却明确的指出:Scala 的“部分组件依赖于底层环境”。说实话,我没有想到像 Scala 这样富有学术气息的语言会容忍这样现实的实现(我猜他们是为了性能考量,但 Scala 不是 Oracle,我还是希望它能更加“利落”些)。

PS II. 这个问题的故障点在于编译过程,Java 进程会在 Scala 编译器的指引下不断生成一模一样的子进程而没有任何报错,如果发生在后台,在耗清服务器资源之前,你不会知道发生了什么!

PS III. 最后无聊一把,Google 的时候我在第一个搜索结果就找到了正解,如果用百度会怎么样?答案是:一整页的垃圾信息!我没看第二页,没勇气、没兴趣。

Technorati 标签: Scala
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值