博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用java命令运行scala代码
阅读量:6346 次
发布时间:2019-06-22

本文共 1524 字,大约阅读时间需要 5 分钟。

hot3.png

Scala是运行在JVM上的语言,跑在标准的Java平台上,可以与所有的Java库实现无缝交互。

下面运行一个小程序来看看在JVM上如何使用java命令来运行Scala程序。

在编写代码之前,我们首先要配置环境变量。

在Windows环境下Java和Scala的环境变量配置:

1.Java环境变量

JAVA_HOME = C:/Program Files/Java/jdk1.6.0_21(我本机的安装目录) 

CLASSPATH = .;%JAVA_HOME%/lib;(. 代表包含当前路径)

Path  = %JAVA_HOME%/bin

2.Scala环境变量

SCALA_HOME = C:/scala-2.8.0.final

Path = %SCALA_HOME%/bin

OK!环境变量配置完了,开始写代码,我们还是以HelloWorld为例:

在C:盘跟目录下建立了HelloWorld.scala文件,内容如下:

Scala Code:

  1. object HelloWorld{  
  2.     def main(args: Array[String]) {  
  3.         println("hello world!")  
  4.     }  
  5. }  

文件建好了,开始编译:

先打开命令行文件->然后到C盘根目录下输入scalac HelloWorld.scala

  1. C:/>scalac HelloWorld.scala  

很顺利编译通过,我们发现在C盘下生成了两个编译后的class文件HelloWorld.class和HelloWorld$.class

编译好了,运行Scala程序:

继续输入scala HelloWorld OH!我们看到了我们想要的hello world!

  1. C:/>scala HelloWorld  
  2. hello world!  

下面我们试着用java去运行一下:

输入java HelloWorld

  1. C:/>java HelloWorld  
  2. Exception in thread "main" java.lang.NoClassDefFoundError: scala/ScalaObject  

OH!没有通过!得到了一大堆堆栈输出以至于我没办法把如此多的输出全部写出来。

是什么原因呢?原来在用java命令运行scala代码的时候需要引入scala类库scala-library.jar下面我我们试试把命令写成这样的格式。

C:/>java -cp %SCALA_HOME%/lib/scala-library.jar;. HelloWorld

  1. C:/>java -cp %SCALA_HOME%/lib/scala-library.jar;. HelloWorld  
  2. hello world!  

 

终于看到了hello world!

我们引入scala类库以后得到了我们想要的结果,我们注意到在类库结束以后有";."符号"."表示当前路径去掉它也不影响运行效果,因为HelloWorld本身就在C盘根目录下。

如果在定义环境变量的时候就把scala的类库写到java的CLASS_PATH变量里面的话

CLASSPATH = .;%JAVA_HOME%/lib;%SCALA_HOME%/lib/scala-library.jar

我们直接运行java HelloWorld,就可以得到输出了!

  1. C:/>java HelloWorld  
  2. hello world!  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

参考 地址:http://blog.csdn.net/leano/article/details/5867108

转载于:https://my.oschina.net/ferchen/blog/1628991

你可能感兴趣的文章
《音乐达人秀:Adobe Audition实战200例》——实例4 收音机音乐节目转录到电脑里...
查看>>
《JavaScript应用程序设计》一一3.1 过时的类继承
查看>>
千万PV是什么意思?
查看>>
Amazon 推出 API 网关使用计划
查看>>
互联网流量超出路由器上限 或致全球断网
查看>>
《基于ArcGIS的Python编程秘笈(第2版)》——2.5 限制图层列表
查看>>
GNOME 地图 3.20 加入更多新特性 可用性得到加强
查看>>
《代码整洁之道:程序员的职业素养》导读
查看>>
《计算复杂性:现代方法》——习题
查看>>
Mozilla 释出更新修复中间人攻击漏洞
查看>>
思科表态反对网络中立
查看>>
《HTML5+CSS3网页设计入门必读》——1.5 利用多种Web浏览器执行测试
查看>>
Velocity官方指南-容器
查看>>
国家为何如此重视石墨烯?
查看>>
《Python和Pygame游戏开发指南》——1.14 配套网站上的更多信息
查看>>
Kafka+Flink 实现准实时异常检测系统
查看>>
利用mybatis查询两级树形菜单
查看>>
《慕客网:IOS基础入门之Foundation框架初体验》学习笔记 <一>
查看>>
Spring声明式事务管理之二:核心接口API
查看>>
解决:在微信中访问app下载链接提示“已停止访问该网页”
查看>>