码迷,mamicode.com
首页 > 编程语言 > 详细

LINUX系统下Java和Scala的环境配置

时间:2016-05-06 20:30:45      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:

最近,笔者在研究一个有关“自然语言处理”的项目,在这个项目中,需要我们用Spark进行编程。而Spark内核是由Scala语言开发的,所以在使用Spark之前,我们必须配置好Scala,而Scala又是运行在JVM上的,所以在配置Scala之前,先要配置好JDK。下面是我个人的一些总结。

我是在Win7系统下开的虚拟机,虚拟机的系统是CentOS7,在创建虚拟机完成后,它会自带一个OpenJDK,我的版本是这样的:

技术分享

但是因为最开始不了解这个情况,所以我从官网上下载了jdk-8u73-linux-x64.tar.gz,并解压在/Downloads目录下。进入/etc/profile.d目录下,新建path.sh脚本文件,打开并配置环境变量如下图:

技术分享

在/etc/profile.d目录下,键入source path.sh命令,使配置生效。

然而配置成功后,在控制台中键入java -version,依然会得到第一张图中的信息,后来发现在配置JDK之前,需要卸载系统自带的JDK。

在控制台中键入java,会出现如下图所示的内容:

技术分享

但是不知道这些,只知道Java开发环境已经配置完毕,所以便开始找对应版本的Scala,我下载的是scala-2.10.5.tgz,并解压在/Downloads目录下。进入/etc/profile.d目录下,打开path.sh文件,配置Scala环境变量,如下图所示:

技术分享

在/etc/profile.d目录下,键入source path.sh命令,使配置生效。

在控制台中键入scala -version和scala,会分别得到如下两张图中的内容:

技术分享

技术分享

 

 

  在各种项目中,我们常常需要用到文件操作,笔者在近期的项目中遇到了一个与文件操作相关的问题。

  在代码实现的过程中,笔者首先定义了一个文件路径:def PATH = "/a/b/c.txt"

  之后开始使用文件操作:val source1 = Source.fromFile(PATH)

  在for循环中,逐行读取文件、处理文件:for(line1 <- source1.getLines()) { // 逐行处理逻辑  }

  在这一轮对文件的各行处理之后,笔者希望再次对处理后的结果进行下一轮处理,所以再次使用了for循环:for(line1 <- source1.getLines())

  但是,结果显示,第二轮操作并没有真正实现。

  经过研究发现,在利用source对象读取完一遍文件后,它便指向了文件的尾部,再次调用for循环时,实际上没有进行任何操作,因为没有读入任何数据。

  解决方法是,重新实例化一个source2:val source2 = Source.fromFile(PATH)

  再次调用for循环:for(line2 <- source2.getLines())

  这样就可以实现再次对文件进行操作了。

LINUX系统下Java和Scala的环境配置

标签:

原文地址:http://www.cnblogs.com/yg6405816/p/5466879.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!