您可能认为我遇到了XY问题。我认为情况并非如此。
我正在做一个项目
sbt dist
然后从target/universal/*
运行可执行脚本。sbt run\ PORT_NUM
第二天曾经工作过几天。现在(没有任何代码更改)我不能再运行DEV服务器了。如果使用API,它会显示以下错误。
[error] java.io.IOException: Resource temporarily unavailable
[error] at java.io.FileInputStream.read0(Native Method)
[error] at java.io.FileInputStream.read(FileInputStream.java:207)
[error] at jline.internal.NonBlockingInputStream.read(NonBlockingInputStream.java:245)
[error] at jline.internal.InputStreamReader.read(InputStreamReader.java:257)
[error] at jline.internal.InputStreamReader.read(InputStreamReader.java:194)
[error] at jline.console.ConsoleReader.readCharacter(ConsoleReader.java:2151)
[error] at jline.console.ConsoleReader.readCharacter(ConsoleReader.java:2141)
[error] at play.sbt.PlayConsoleInteractionMode$.waitEOF$1(PlayInteractionMode.scala:62)
[error] at play.sbt.PlayConsoleInteractionMode$.$anonfun$waitForKey$2(PlayInteractionMode.scala:73)
[error] at play.sbt.PlayConsoleInteractionMode$.$anonfun$doWithoutEcho$1(PlayInteractionMode.scala:80)
[error] at play.sbt.PlayConsoleInteractionMode$.$anonfun$doWithoutEcho$1$adapted(PlayInteractionMode.scala:77)
[error] at play.sbt.PlayConsoleInteractionMode$.withConsoleReader(PlayInteractionMode.scala:57)
[error] at play.sbt.PlayConsoleInteractionMode$.doWithoutEcho(PlayInteractionMode.scala:77)
[error] at play.sbt.PlayConsoleInteractionMode$.$anonfun$waitForKey$1(PlayInteractionMode.scala:73)
[error] at play.sbt.PlayConsoleInteractionMode$.$anonfun$waitForKey$1$adapted(PlayInteractionMode.scala:60)
[error] at play.sbt.PlayConsoleInteractionMode$.withConsoleReader(PlayInteractionMode.scala:57)
[error] at play.sbt.PlayConsoleInteractionMode$.waitForKey(PlayInteractionMode.scala:60)
[error] at play.sbt.PlayConsoleInteractionMode$.waitForCancel(PlayInteractionMode.scala:83)
[error] at play.sbt.run.PlayRun$.$anonfun$playRunTask$3(PlayRun.scala:125)
[error] at play.sbt.run.PlayRun$.$anonfun$playRunTask$3$adapted(PlayRun.scala:65)
[error] at scala.Function1.$anonfun$compose$1(Function1.scala:44)
似乎是一个僵局问题,如何进一步解决这个问题?
这是我尝试的一系列事项:
更新1:整个系统适用于Ubuntu 16.04.5 LTS。我试图弄清楚为什么它不能在18.04 LTS中工作。
更新2a:在它运行的机器上(它运行在Mac OS Mojave中安装的VM上,操作系统是Ubuntu服务器),
Java版本(
$ java -version
)是openjdk version "1.8.0_191" OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12) OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
Ubuntu版本(
$ lsb_release -a
)是No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.5 LTS Release: 16.04 Codename: xenial
更新2b:在它不起作用的机器上(它在桌面系统上运行,操作系统是Ubuntu桌面),
Java版本(
$ java -version
)是openjdk version "1.8.0_191" OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12) OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
Ubuntu版本(
$ lsb_release -a
)是No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.5 LTS Release: 16.04 Codename: xenial
更新3:在
sbt
的GitHub上创建了一个问题
正如其他答案所建议的那样,新内核版本存在问题。
到目前为止,还没有在新的更新中分发修复程序。您可以降级回以前工作的内核版本4.15.0-43
。
请关注此link以获取有关如何执行此操作的详细信息。
最新的内核版本4.15.0-45是问题的原因。我重新启动到4.15.0-43,现在工作正常。谢谢@Renato
关于在Ubuntu 16.04上破解的一些注意事项。内核4.4.0-142被破坏(似乎是最新的),并且启动到4.4.0-141修复了它。