精华内容
下载资源
问答
  • scala命令行编译运行

    千次阅读 2017-03-14 11:19:48
    代码+图文讲解scala命令行编译运行

    1.演示代码如下:

    object fruit{
      def main(args: Array[String]) {
    
        val fruits = List("banana fruit","apple fruit","peach","grapes","pear")
    
        for {
          fruit <- fruits
          upcasedFruit = fruit.toUpperCase()
       }
          println(upcasedFruit) 
      }
    }
    

    2编译

    $ scalac fruit.scala

    然后我们会看到多了一些.class文件


    3运行

    $ scala fruit


    4.补充

    如果代码稍改,在upcasedFruit = fruit.toUpperCase()前加上 val,出警告,不是错误,想查看的话输入 -deprecation。








    展开全文
  • 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....

    Scala反编译

    1)在项目的target目录Hello文件上点击右键->Show in Explorer->看到object底层生成Hello$.class和Hello.class两个文件

    在这里插入图片描述

    2)采用Java反编译工具jd-gui.exe反编译代码,将Hello.class拖到jd-gui.exe页面

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • Scala程序编译运行

    万次阅读 2015-07-17 16:58:01
    本文详细介绍了Scala程序编译、打包、运行的全过程,以及各种方式的利弊分析

    1.编译

    Scala演示代码如下:
    <pre name="code" class="plain">/**
    * @author Administrator
    */
    object Maps {
    
    val colors = Map("red" -> 0xFF0000,
    "turquoise" -> 0x00FFFF,
    "black" -> 0x000000,
    "orange" -> 0xFF8040,
    "brown" -> 0x804000)
    
    def main(args: Array[String]){
    for(name <- args)println(
    colors.get(name) match{
    case Some(code) => 
    name + " has code: " + code
    case None =>
    "Unknown color: " + name
    })
    }
    }
     
    

    1.1方式一scalac

    使用Scala的基本编译器——scalac。开始编译源文件,但在编译完成之前会有几秒的停顿。因为每次编译器启动时,都要花一些时间扫描jar文件内容,并且在开始编译提交的源文件之前完成更多其他初始化工作(因此可能比Java程序编译慢)。命令如下:
    scalac -d class/ Maps.scala

    1.2方式二fsc

    Scala的发布包里还包括了一个叫做fsc(快速Scala编译器,Fast Scala Compiler)的Scala编译器后台服务(daemon)。估计是针对Scala程序编译慢才刻意提供的服务。使用方法如下(其实用法和scalac差不多):
    fsc -d class/ Maps.scala


    第一次执行fsc时,会创建一个绑定在计算机端口上的本地服务器后台进程。然后它就会把文件列表通过端口发送给后台进程,由后台进程编译。下一次执行fsc时,检测到后台进程已经在运行了,于是fsc将只把文件列表发给后台进程,它会立刻开始编译文件。使用fsc,只须在首次运行的时候等待Java运行时环境的启动。如果想停止fsc后台进程,可以执行命令:

    fsc -shutdown

    2.打包

    打包过程和Java程序打包没什么两样,这里不做累述,仅给出命令行如下:
    jar -cvf maps.jar -C class/ .


    3.运行

    3.1方式一java

    使用java方式运行打包好的Scala程序有一个地方特别需要注意。这里,先看按Java程序的方式,不做任何处理运行Scala,命令行如下:
    java -cp maps.jar Maps red blue black orange


    运行结果如下图所示:

    报错提示Scala中的方法没有找到,为什么没有找到?这里先声明:该程序在Eclipse for Scala(IDE)上运行是没问题的,所以问题可能出在Scala的jar包没有引入,那么用-D参数引入jar包,命令行如下:
    java -Djava.ext.dirs=$SCALA_CP -cp maps.jar Maps red blue black orange


    注:SCALA_CP=$SCALA_HOME/lib

    运行结果如下图所示:


    3.2方式二scala

    其实可以直接使用scala命令来运行的,不要以为scala命令只能开启Scala命令行模式,闲言少叙,直接看命令行:
    scala -cp maps.jar Maps red blue black orange


    运行结果如下图所示:


    4.总结

     如果多次编译Scala程序建议使用fsc(每一种事物的存在都有它道理的),如果只须编译一次Scala程序,就用scalac吧,毕竟fsc用完记得关闭;
     运行Scala程序建议使用scala命令,不建议用java命令。


    参考文献

    《Scala编程》
    展开全文
  • 笔试:Scala编译时语言集成查询
  • scala脚本编译运行

    千次阅读 2016-09-26 15:28:29
    用cmd编译和运行scala脚本。脚本内容: Decla.scalaobject Decla{ def main(args: Array[String]){ var myVar : Int = 10 val myVal : String = "Hello Scala" var myVar1 = 20 val myVal1 =

    用cmd编译和运行scala脚本。

    脚本内容:
    Decla.scala

    object Decla{
        def main(args: Array[String]){
            var myVar : Int = 10
            val myVal : String = "Hello Scala"
            var myVar1 = 20
            val myVal1 = "Hello Scala 1"
            println(myVar)
            println(myVal)
            println(myVar1)
            println(myVal1)     
        }
    }


    Step1:编译
    scalac Decla.scala
    Step2:运行
    scala Decla

    编译成功后,运行Step2的指令时,我的机器报错
    No such file or class on classpath scala: Decla

    解决方案
    Step2使用命令scala -cp . Decla


    Ref
    http://stackoverflow.com/questions/27998824/can-compile-scala-programs-but-cant-run-them

    展开全文
  • Scala.js 是一个将 Scala 语言编译成 JavaScript 的工具,可以让你直接在浏览器上使用 Scala 编写程序。 这是 Scala.js 的存储库,Scala 到 JavaScript 的编译器。 报告问题 开发人员文档 贡献指南 许可证 Scala....
  • eclipse构建maven scala 项目 编译成功

    万次阅读 2016-07-05 13:28:36
    eclipse构建maven+scala+spark工程 eclipse构建maven scala 项目 编译成功
  • scala 动态编译maven

    2020-07-28 11:18:58
    <dependencies>...org.scala-lang</groupId> <artifactId>scala-library</artifactId> <version>2.11.8</version> </dependency> <dependency>
  • Scala.js 是一个将 Scala 语言编译成 JavaScript 的工具,可以让你直接在浏览器上使用 Scala 编写程序。
  • java scala 混合编译报错,找不到包。

    千次阅读 2018-05-10 10:21:38
    原创部分: java和scala混合编译报错百度没搜到,google了一下网上成功解决分方案分两种,其中一种是先对scala编译,这种是对应的java引用scala包的情况,第二种是混合编译,这种是对应的java引用scala包,并且...
  • 对于包含 main 方法的 object 声明,引入了一个通常称为单例对象(singleton object)的概念,也就是有且仅有一个实例 的类。 main 方法并没有声明为 static。这是因为 Scala 中不存在静态成员(无论方法还是属性...
  • 文章目的:介绍win系统下,CMD 运行scala程序流程及注意点 流程 1、记事本写入程序,并在scala安装目录/bin下,保存为ApplicationEntryPoint.scala object ApplicationEntryPoint { def main(args: Array[String]):...
  • 针对.NET的Scala交叉编译

    千次阅读 2011-07-31 19:52:01
    本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2011/07/Scala.NET ...Java平台的流行语言Scala现在准备进军.NET了,这要归功于école Polytechnique Fédérale de
  • 目录源码类`scala底层的编译机制`反编译class文件得到的demo01_test反编译class文件得到的demo01_test$反编译class文件得到的Worker 源码类 package com.xcu.chapter06 object demo01_test { // 源码 def main...
  • 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 ...
  • 在Pom文件中添加如下插件解决: <sourceDirectory>src/... <artifactId>scala-maven-plugin <version>3.2.2 <recompileMode>incremental <goal>compile <goal>testCompile  
  • scala代码 object Hello { def main(args: Array[String]): Unit = { println("hello world") } } java代码 import scala.Predef$; public final class Hello { public static void main(String[] args) {...
  • 现象: idea scala 项目编译报错:Failed to execute goal ...在项目根目录执行mvn clean scala:compile package 后 idea 就会报哪个类哪行代码有问题,修复后再次编译就可以了。 ...
  • 在编写flink或spark程序时,往往在一个工程中既有java代码,又有scala代码,但有时Debug或Compile时,却发现scala代码没有编译。 这是因为java与scala是二种不同的语言,有各自的sdk和编译器,所以需要专门的maven...
  • 在用gradle对java与scala混合编译时,编码GBK的不可映射字符问题解决的解决办法 ^ E:\cardgame_git\cardgame\login\src\main\java\com\code\server\login\kafka\MsgProd ucer.java:35: 错误: 编码GBK的不可映射字符 ...
  • Created by Wang, Jerry on Oct 08,...看个Scala的例子: package method /** * @author I042416 */ class booleaMethod { private var firstName = "" private var lastName = "" def this(first: String, las...
  • Spark IDEA集成环境开发时,pom文件新安装了一些jar包,没注意到其中scala的版本替换了,运行一个测试程序提示这个:Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.refArrayOps([Ljava/...
  • 报错提示 Error:scalac: Error: Uninitialized object exists on backward branch 209 Exception Details: ... scala/collection/immutable/HashMap$HashTrieMap.split()Lscala/collection/immutable/Seq; ...
  • val sparkV = sys.props.getOrElse("spark.version", "2.3.0")
  • 安装过程 1、安装JDK 1.8 2、在scala官网上下载windows免安装版本的scala进行解压...scalac HelloWorld.scala编译产生字节码文件 scala HelloWorld.scala 运行scala程序 反编译工具的使用 直接点击打开jd-gui.e...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 34,794
精华内容 13,917
关键字:

scala被编译