加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Scala问题 – 如何运行包中的程序?

发布时间:2020-12-16 09:03:46 所属栏目:安全 来源:网络整理
导读:我很尴尬地问这个,但是我无法弄清楚如何运行定义在包中的 scala程序. 例: package foo.bar { object Hello { def main(args:Array[String]) { println("Hello") } }} 编译Hello.scala文件后,我得到了预期的目录结构 -- foo| `-- bar| |-- Hello$.class| `--
我很尴尬地问这个,但是我无法弄清楚如何运行定义在包中的 scala程序.

例:

package foo.bar {

    object Hello {
        def main(args:Array[String]) {
            println("Hello")
        }

    }
}

编译Hello.scala文件后,我得到了预期的目录结构

-- foo
|   `-- bar
|       |-- Hello$.class
|       `-- Hello.class

我尝试过的事情:

Nick@Macintosh-2 ~/Desktop/Programming/Scala master$fsc Hello.scala 
Nick@Macintosh-2 ~/Desktop/Programming/Scala master$scala Hello
no such file: Hello
Nick@Macintosh-2 ~/Desktop/Programming/Scala master$scala -classpath foo/bar/ Hello
Exception in thread "main" java.lang.NoClassDefFoundError: Hello (wrong name: foo/bar/Hello)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:676)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:317)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:375)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:242)
    at scala.tools.nsc.ObjectRunner$.findClass(ObjectRunner.scala:29)
    at scala.tools.nsc.ObjectRunner$.classExists(ObjectRunner.scala:42)
    at scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:149)
    at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)
Nick@Macintosh-2 ~/Desktop/Programming/Scala master$scala foo/bar/Hello
no such file: foo/bar/Hello
Nick@Macintosh-2 ~/Desktop/Programming/Scala master$scala foo/bar/Hello.class

我在网上看到了很多解释如何打包文件的例子.但我没有看到任何显示如何从命令行运行该文件.

任何帮助,将不胜感激.

解决方法

scala foo.bar.Hello

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读