Eclipse中如何实现scala开发环境的构建

Eclipse中如何实现scala开发环境的构建,第1张

1)新建一个目录叫 test

2)在test目录中新建文件build.sbt

3)在test目录新建project目录,进入project目录,并新建plugins.sbt,在其中添加

addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.4.0")

4)在build.sbt中配置工程的name,scala编译环境,依赖等等。如:

import sbt._

import Process._

import Keys._

EclipseKeys.createSrc := EclipseCreateSrc.Default + EclipseCreateSrc.Resource

lazy val commonSettings = Seq(

name := "test",

organization := "com.marsyoung",

version := "0.0.1-SNAPSHOT",

scalaVersion := "2.11.7"

)

lazy val root = (project in file(".")).

settings(commonSettings: _*).

settings(

libraryDependencies ++= Seq(

"junit" % "junit" % "4.4",

"javax.ws.rs" % "jsr311-api" % "差笑1.1.1"

)

)

5)在cmd中者搏进入对应的project目录,即test目录。运行sbt。

6)执行eclipse命令,将对应的项目转化成可以引入eclipse开发工具并且目录结构类似maven的项目。

7)打开已经安装了scala ide的eclipse,导入对应的首庆祥project,会自动的编译成scala peoject.

1

scala安装包下载

2

下载完成没梁厅后,运行msi安装文枯隐件,确认运行。

3

进入安装界面,选择next

4

scala的安装协议,选择同意然后next

5

默认完整安装就好了,可以修改安装目录。

6

确认安装,开始安装

多图

7

安装完渣穗成,点击Finnish退出安装向导

8

打开命令行,输入scala -version,显示scala信息,安装成功。

最近,笔者在研究一个有关“自然语言处理”的项目,在这个项目中,需要我们用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,会分别得到如下祥橘两张图中的内容:

关于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())

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12445021.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存