精华内容
下载资源
问答
  • scala-sbt-scala编译工具

    2015-06-12 01:14:04
    scala 编译工具 sbt 安装包。 Little or no configuration required for simple projects Scala-based build definition that can use the full flexibility of Scala code Accurate incremental recompilation ...
  • 首先电脑要安装好scala,并配置环境变量 刚开始按照网上配置,直接使用scala命令执行带路径的scala脚本报错 Exception in thread "main" java.lang.IllegalArgumentException: name at java.base/jdk.internal....
    • 首先电脑要安装好scala,并配置环境变量
      刚开始按照网上配置,直接使用scala命令执行带路径的scala脚本报错
      scal执行带路径的脚本报错
    Exception in thread "main" java.lang.IllegalArgumentException: name
            at java.base/jdk.internal.loader.URLClassPath$Loader.getResource(URLClassPath.java:636)
            at java.base/jdk.internal.loader.URLClassPath.getResource(URLClassPath.java:314)
            at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:455)
            at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:452)
            at java.base/java.security.AccessController.doPrivileged(Native Method)
            at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:451)
            at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
            at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
            at java.base/java.lang.Class.forName0(Native Method)
            at java.base/java.lang.Class.forName(Class.java:398)
            at scala.reflect.internal.util.ScalaClassLoader.$anonfun$tryClass$1(ScalaClassLoader.scala:51)
            at scala.util.control.Exception$Catch.$anonfun$opt$1(Exception.scala:245)
            at scala.util.control.Exception$Catch.apply(Exception.scala:227)
    
    
    • 如果先进入脚本目录,然后使用scala调用则可以正常执行
      正常执行
    • 配置sublime(工具->编译系统->新建编译系统),保存为Scala.sublime-build
      在这里插入图片描述
      在这里插入图片描述
      配置 Scala.sublime-build
    {
    	"shell_cmd": "cd ${file_path} & scala \"$file_name\"",
    	"file_regex": "^(...*?):([0-9]*):?([0-9]*)",
    	"selector": "source.scala",
    	"encoding": "gbk"
    }
    
    展开全文
  • Scala.js是一款将Scala代码编译为JavaScript代码的编译器,该编译器支持全部Scala语言特性。借助于Scala.js,开发者能够使用Scala开发从前端到后端的Web应用,而且Scala.js还带来了在服务器和客户端之间复用代码的...

    Scala.js是一款将Scala代码编译为JavaScript代码的编译器,该编译器支持全部Scala语言特性。借助于Scala.js,开发者能够使用Scala开发从前端到后端的Web应用,而且Scala.js还带来了在服务器和客户端之间复用代码的可能性。Scala.js值得关注的特性包括:

    • 支持Scala语言的所有特性,包括宏(macros),仅有一些语义的不同
    • 同JavaScript代码具有良好的互操作性,如Scala.js代码中以类型化或者非类型化方式使用jQuery和HTML5、创建Scala.js对象和JavaScript代码中调用对象的方法;
    • 集成了Scala的流行构建工具sbt,支持依赖管理和增量编译;
    • 能够使用Scala IDE进行编码;
    • 能够生成一个源代码和生成代码的映射,从而提供了Scala.js和Scala二者之间平滑过渡的调试经历,在浏览器中单步调试Scala代码且且支持源码间的映射;
    • 集成了来自谷歌、用于生成紧凑且高性能代码的工具Closure Compiler,为产品以生成最小的代码;
    • 生成非常高效的JavaScript代码,参考基准测试信息

    Scala.js已形成了一个良好的生态圈,生态圈内容包括:

    Scala.js基于Scala许可协议发布,代码托管在GitHub,当前最新版本是0.6.2。有关Scala.js的API、使用指导和参考指南,请读者参考官方提供的相关文档。此外,官方还提供了使用教程开发文档以及在浏览器中查看运行效果的在线工具

    展开全文
  • 首先编写一个 HelloWorld.scala 文件 object HelloWorld { def main(args: Array[String]) { ...命令行使用scalac HelloWorld.scala编译后产生两个文件分别为HelloWorld.class和HelloWorld$.class 备注:类似于 J...

    首先编写一个 HelloWorld.scala 文件

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

    命令行使用scalac HelloWorld.scala编译后产生两个文件分别为HelloWorld.classHelloWorld$.class
    备注:类似于 Java 语言Scala 语言 可以使用 scalacscala 分别编译和运行程序。例如运行命令:scala HelloWorld

    使用 JD-GUI 反编译工具对 class 文件进行反编译得到如下目录:

    这里写图片描述
    从整体目录结构上来看,不难发现 HelloWorld$.class 里的内容比 HelloWorld.class 更加丰富一些。
    具体成员如下表所示:

    成员HelloWorld$.classHelloWorld.class
    HelloWorld$HelloWorld
    私有构造方法HelloWorld$()
    方法main(String[])static main(String[])
    静态代码块static{}
    静态成员变量MODULE$

    再从具体的反编译文件查看 HelloWorld$.classHelloWorld.class

    这里写图片描述
    HelloWorld.class(@ScalaSignature后面的参数值有点长,当前重点不在此,先忽略掉)
    这里写图片描述
    对比两个文件不难发现:函数的执行体主要是在 HelloWorld$.class 中,当执行HelloWorld.class 中 的main 方法时,会调用方法 HelloWorld.main(null),接着会执行方法体中的代码 HelloWorld..MODULE$.main(paramArrayOfString) ,接着函数跳转 HelloWorld$.classmain 方法中,然后执行 Predef..MODULE$.println("Hello World");最后输出结果:”Hello World“。

    展开全文
  • 查看Scala编译的.class文件

    千次阅读 2017-08-16 17:18:30
    Scala是基于JDK运行的,必然会生成Java的字节码文件.class文件。...查看class文件工具:jd-gui scala代码如下: person.scala package cn.zengmg.day26 class Person { val id="0001" //不变

    Scala是基于JDK运行的,必然会生成Java的字节码文件.class文件。

    如何查看?


    编码IDE:IntelliJ IDEA 2017.2 x64

    查看class文件工具:jd-gui


    scala代码如下:

    person.scala

    package cn.zengmg.day26
    
    class Person {
    
      val id="0001"    //不变的
      var name="zengmg"  //变化的
    
    }
    
    //因为AAA命名规则无常,于是命名与类名相同
    //也是Person类的伴生对象
    // object AAA{
    object Person{
    
      def main(args: Array[String]): Unit = {
    
        val p=new Person()
        println(p.id+"  "+p.name)
      }
    
    }
    

    编译的class文件在

    项目文件夹下 out 文件夹里




    用jd-gui 查看这个文件便可




    展开全文
  • Scala编译后的class文件反编译的结果

    千次阅读 2020-04-12 20:03:02
    1. class和object中参数的编译 class中变量的反编译结果 val 和 private val 修饰的成员变量被编译成 private final, 并提供getter var 和 private var 修饰的成员变量被编译成 private, 并提供getter和setter 没有...
  • scala编译的class字节码实现

    千次阅读 2016-05-24 16:42:25
    我们知道, Scala也是一种运行于Java虚拟机上的语言, 既然能够运行于虚拟机之上, 那么它必然可以编译成class文件, 因为虚拟机只认class文件。 所以, scalac编译器将.scala源文件, 编译成class文件, 然后这些...
  • 编写一个_04ClassObjectDemo.scala文件 object _04ClassObjectDemo{ // 1. 创建一个Person类,添加成员变量 class Person { var name:String = _ var age:Int = _ } def main(args: Array[String]): Unit =...
  • Scala编译

    千次阅读 2019-10-16 19:43:23
    Scala反编译 1)在项目的target目录Hello文件上...Show in Explorer->看到object底层生成Hello$.class和Hello.class两个文件 2)采用Java反编译工具jd-gui.exe反编译代码,将Hello.class拖到jd-gui.exe页面 ...
  • Scala.js 是一个将 Scala 语言编译成 JavaScript 的工具,可以让你直接在浏览器上使用 Scala 编写程序。 这是 Scala.js 的存储库,Scala 到 JavaScript 的编译器。 报告问题 开发人员文档 贡献指南 许可证 Scala....
  • Scala.js 是一个将 Scala 语言编译成 JavaScript 的工具,可以让你直接在浏览器上使用 Scala 编写程序。
  • Scala程序编译运行

    2013-07-31 16:10:00
    Scala 解释 开始Scala最简单的方法是使用Scala解释,它是一个编写Scala表达式和程序的交互式“shell”。简单地在解释里输入一个表达式,它将计算这个表达式并打印结果值。Scala的交互式shell就叫做scala。你...
  • "org.apche.spark" %% "spark-sql" % "2.4.4" libraryDependencies += "org.apche.spark" %% "spark-graphx" % "2.4.4" sbt package #之后就可以使用该命令编译打包了,最后得到的jar文件在target/scala文件夹下 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 22,589
精华内容 9,035
关键字:

scala编译工具