Java中Scala运行如何修改文件路径

scalac: Error: C:\Users\ ڲ \AppData\Roaming\JetBrains\IdeaIC2022.2\plugins\Scala\lib\jps\compiler-interface-sources-2.11.jar (系统找不到指定的路径。)
java.io.FileNotFoundException: C:\Users\ ڲ \AppData\Roaming\JetBrains\IdeaIC2022.2\plugins\Scala\lib\jps\compiler-interface-sources-2.11.jar (系统找不到指定的路径。)

因为 Scala 编译器 scalac 找不到 compiler-interface-sources-2.11.jar 这个依赖包。
有两种解决方法:

  1. 下载该 jar 包,并添加到 Scala 的 classpath 中。可以把 jar 包放到 Scala 的 lib 目录下,然后重启 IDEA,Scala 就可以找到该包了。
  2. 在构建 Scala 项目时,添加 compiler-interface 作为依赖。例如在 SBT 中:
    sbt
    libraryDependencies += "org.scala-lang.modules" %% "scala-compiler" % "2.11.1"
    然后重新 compile 项目,SBT 会自动下载该 jar 包及其依赖的其他包。
    所以总结来说,是 Scala 运行环境找不到必要的依赖包导致的错误。添加了依赖后就可以正常编译运行 Scala 代码了。
不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/828860
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:Java读写文件和Scala读写文件
  • 除此之外, 这篇博客: Java大战Scala中的 三:数据类型 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    (1)scala的数据类型自动判断
    情景:方法/变量的声明

    限制范围:
    1.迭代函数
    2.带名函数中的匿名函数声明时
    def greeting(name: String) = {
      def sayHello(name: String):String = {
        return "Hello, " + name
      }
      sayHello(name)
    }

    (2)基本数据类型与与之照应的引用数据类型的转换:
    scala中通过隐式转换可直接使用加强类型的方法
    例子: 1.to(10)  // int ——》 RichInt
    java中必须显式
    (3)Actor
    Scala的Actor类似于Java中的多线程编程
    (4)隐式转换
    scala中允许你手动指定,将某种类型的对象转换成其他类型的对象
    意义:是编程语言中继承关系的补充,更灵活
    (5) object类型
    1》与java中的静态概念相似,scala中用object 当做class的伴生类,将相应的 静态概念变量,静态块儿等进行存放
    2》object类中有自己独特的 apply()方法,通常在里面定义主类的初始化
    例如:
    class Person()
    object Person {
      def apply() = new Person()
    }

    声明对象:val person = Person;
    3》当成 scala中main方法的实现
    4》可以定义枚举值
    (6)类型参数
    类似于java中的泛型扩展,扩展到父子关系,隐式转换关系,scala的内部函数,该类型的关联类等
    详见《scala之类型参数》
    (7)scala中的Traint
    类似于java中的接口
    不过它之中可以继承class,有自己的构造函数,动态混入,调用链等特性的融入导致功能更活用

     


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^