$ sbt compile
[info] Done updating.
error: error while loading String, class file '/modules/java.base/java/lang/String.class' is broken
(class java.lang.NullPointerException/null)
[error] java.io.IOError: java.lang.RuntimeException: /packages cannot be represented as URI
[error] at java.base/jdk.internal.jrtfs.JrtPath.toUri(JrtPath.java:176)
[error] at scala.tools.nsc.classpath.JrtClassPath.asURLs(DirectoryClassPath.scala:204)
Usually, this problem happens the first time you set up your project on your computer. This happens because you're using an incompatible Java version to compile your scala code. You can check the scala to Java compatibility in this page https://docs.scala-lang.org/overviews/jdk-compatibility/overview.html
Now, how can you fix this? You need to find out which Java version is being used by SBT and then set the correct one to use. Do you try to use java -version command?
$ java -version
While the java -version command helps you telling which java is being used by your system, SBT might use a different version. For SBT specific, you can use sbt -J-showversion command as follow:
$ sbt -J-showversion
openjdk version "1.8.0_192"
OpenJDK Runtime Environment (Zulu 8.33.0.1-macosx) (build 1.8.0_192-b01)
OpenJDK 64-Bit Server VM (Zulu 8.33.0.1-macosx) (build 25.192-b01, mixed mode)
After knowing your Scala compatibility and your SBT's Java version you can follow any of these solutions in this page https://users.scala-lang.org/t/telling-sbt-to-use-different-jdk-version/4608/10
I hope this helps anyone having a similar problem.