我正在尝试使用sbt runMain
命令从SBT运行程序。
但是我遇到了错误-
[error] java.nio.file.NoSuchFileException: /home/user/java/8.0.181-oracle/jre/lib/jfxrt.jar
[error] at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86)
[error] at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
[error] at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
[error] at sun.nio.fs.UnixFileAttributeViews$Basic.readAttributes(UnixFileAttributeViews.java:55)
[error] at sun.nio.fs.UnixFileSystemProvider.readAttributes(UnixFileSystemProvider.java:144)
[error] at sun.nio.fs.LinuxFileSystemProvider.readAttributes(LinuxFileSystemProvider.java:99)
[error] at java.nio.file.Files.readAttributes(Files.java:1737)
[error] at java.nio.file.FileTreeWalker.getAttributes(FileTreeWalker.java:219)
[error] at java.nio.file.FileTreeWalker.visit(FileTreeWalker.java:276)
[error] at java.nio.file.FileTreeWalker.walk(FileTreeWalker.java:322)
[error] at java.nio.file.Files.walkFileTree(Files.java:2662)
[error] at java.nio.file.Files.walkFileTree(Files.java:2742)
[error] (Compile / runMain) java.nio.file.NoSuchFileException: /home/rajkumar/java/8.0.181-oracle/jre/lib/jfxrt.jar
[error] Total time: 12 s, completed Aug 23, 2018 10:21:44 PM
SBT版本详细信息
$ sbt about
[info] This is sbt 1.2.1
[info] The current project is ProjectRef(uri("file:/home/rajkumar/Coding/Java/ConcurrentProgrammingInScala/"), "concurrentprogramminginscala") 0.1
[info] The current project is built against Scala 2.12.6
java版本详细信息-
$ java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
我在jdk文件夹中的任何地方都找不到jfxrt.jar
文件。
$ find . -type f -name jfxrt.jar
此命令不返回结果。
fedora版本是-
$ cat /etc/fedora-release
Fedora release 28 (Twenty Eight)
为什么会出现此错误?如何解决此错误?
答案 0 :(得分:1)
我相信问题在于Java JRE的目录结构。显然,您的jfxrt.jar
不在程序认为的位置,这是因为在Java 8中,此jar位于java/<version>/jre/lib/ext/
目录中,而不是程序正在查看的java/<version>/jre/lib/
从堆栈跟踪中可以看出来。解决该问题的一种方法是将jfxrt.jar
复制到java/<version>/jre/lib/
目录中,以便可以正确找到文件。
为此可能存在更稳定/安全的解决方案,但是直到我(或其他人)找到这种方式,我才会这样做。如果您有任何问题,请发表评论,我会尽力回答。希望这会有所帮助!
编辑:我正在搜索SO,看来this这个问题也应该有助于正确设置路径。