linux下 IDEA SBT projectlinux svn importt有问题 怎么解决?

配置IntelliJ IDEA 13的SBT和Scala开发环境 - 博客频道 - CSDN.NET
分类:Big Data
对于scala的开发环境,公认最好的IDE是IntelliJ IDEA+scala&sbt插件。sbt(Simple Build Tool,a build tool for Scala.)是scala专用的构建工具,使用scala语言编写,配置比maven等构建工具简单了许多。sbt集成了依赖管理(使用Ivy做依赖管理),并“只在请求时更新”。(详见twitter, scala school的简单构建工具)
SBT其他相关链接
sbt http://www.scala-sbt.org/
我在配置IDEA+scala&sbt的过程中走了不少弯路,所以记录一下配置的过程,希望对大家有所帮助。
打开安装完成的Intellij IDEA 13(/idea/),首先要安装好scala和sbt plugin。在IDEA的wizard中选择plugin -& 安装插件 -& 搜索scala和sbt,然后等待安装完成即可。
创建一个Scala – sbt项目sbtFirst
虽然这个项目采用sbt格局,但少了sbt-idea插件,IDEA并不能对这个项目进行操作,只能打开sbt console。
首先我们需要修改项目的build.sbt文件,添加需要的Scala版本和libraryDependencies,注意sbt文件每行之间必须有空行。
name := “sbtTest”
version := “1.0″
scalaVersion := “2.10.4″
libraryDependencies += “org.mongodb” %% “casbah” % “2.7.2″sbt console点击绿色的运行图标,
执行console命令,sbt会根据build.sbt中的设置下载依赖jar。
注意,下载Scala的几个jar慢的很蛋疼,所以最好用其他方式先把对应的jar包下载.
http://repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.10.4/scala-reflect-2.10.4.jar
http://repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.10.4/scala-compiler-2.10.4.jar
http://repo1.maven.org/maven2/org/scala-lang/scala-library/2.10.4/scala-library-2.10.4.jar然后放到对应的目录下:
.ivy2\cache\org.scala-lang\scala-library\jars
.ivy2\cache\org.scala-lang\scala-complier\jars
.ivy2\cache\org.scala-lang\scala-reflect\jars
[info] downloading http://repo1.maven.org/maven2/org/mongodb/casbah-commons_2.10/2.7.2/casbah-commons_2.10-2.7.2.jar ...
[SUCCESSFUL ] org.mongodb#casbah-commons_2.10;2.7.2!casbah-commons_2.10.jar (6072ms)
[info] downloading http://repo1.maven.org/maven2/org/mongodb/casbah-core_2.10/2.7.2/casbah-core_2.10-2.7.2.jar ...
[SUCCESSFUL ] org.mongodb#casbah-core_2.10;2.7.2!casbah-core_2.10.jar (15255ms)
[info] downloading http://repo1.maven.org/maven2/org/mongodb/casbah-query_2.10/2.7.2/casbah-query_2.10-2.7.2.jar ...
[SUCCESSFUL ] org.mongodb#casbah-query_2.10;2.7.2!casbah-query_2.10.jar (19410ms)
[info] downloading http://repo1.maven.org/maven2/org/mongodb/casbah-gridfs_2.10/2.7.2/casbah-gridfs_2.10-2.7.2.jar ...
[SUCCESSFUL ] org.mongodb#casbah-gridfs_2.10;2.7.2!casbah-gridfs_2.10.jar (5611ms)
[info] downloading http://repo1.maven.org/maven2/com/github/nscala-time/nscala-time_2.10/1.0.0/nscala-time_2.10-1.0.0.jar
[SUCCESSFUL ] com.github.nscala-time#nscala-time_2.10;1.0.0!nscala-time_2.10.jar (8390ms)
[info] downloading http://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.6.0/slf4j-api-1.6.0.jar ...
[SUCCESSFUL ] org.slf4j#slf4j-1.6.0!slf4j-api.jar (3815ms)
[info] downloading http://repo1.maven.org/maven2/org/mongodb/mongo-java-driver/2.12.2/mongo-java-driver-2.12.2.jar ...
[SUCCESSFUL ] org.mongodb#mongo-java-2.12.2!mongo-java-driver.jar (29425ms)
[info] downloading http://repo1.maven.org/maven2/joda-time/joda-time/2.3/joda-time-2.3.jar ...
[SUCCESSFUL ] joda-time#joda-2.3!joda-time.jar (29542ms)
[info] downloading http://repo1.maven.org/maven2/org/joda/joda-convert/1.2/joda-convert-1.2.jar ...
[SUCCESSFUL ] org.joda#joda-1.2!joda-convert.jar (2633ms)
Welcome to Scala version 2.10.4 (Java HotSpot(TM) Client VM, Java 1.7.0_40).
Type in expressions to have them evaluated
Type :help for more information.
下载完成后,我们可以在sbt console下测试一下dependencies能否被正确import。scala&import com.mongodb.casbah.Imports._
import com.mongodb.casbah.Imports._
scala&val mongoClient=MongoClient(&192.168.17.202&);
mongoClient: com.mongodb.casbah.MongoClient = com.mongodb.casbah.MongoClient@c2512d
# 或者使用URI的方式登录
scala& val rs1 = new ServerAddress(&192.168.17.202&, 27017)
scala& val mongoClient =
MongoClient(uri)
mongoClient: com.mongodb.casbah.MongoClient = com.mongodb.casbah.MongoClient@2c304d&/td&下一步是配置sbt-idea插件,要在$HOME/.sbt/0.13/plugins/build.sbt下添加下面的插件配置(Windows的目录C:\Users\Luffy\.sbt\0.13\plugins,如果没有需要建出来)
resolvers += &Sonatype snapshots& at &https://oss.sonatype.org/content/repositories/snapshots/&
addSbtPlugin(&com.github.mpeltonen& % &sbt-idea& % &1.6.0&)
重启IDEA,进入sbt console,sbt会自动更新插件。(Windows下如果没有更新,可以安装个sbt的MSI包并在terminal中打开sbt)
[info] Loading global plugins from C:\Users\Luffy\.sbt\0.13\plugins
[info] Updating {file:/C:/Users/Luffy/.sbt/0.13/plugins/}global-plugins...
[info] Resolving com.github.mpeltonen#sbt-1.6.0 ...
[info] downloading http://repo1.maven.org/maven2/com/github/mpeltonen/sbt-idea_2
.10_0.13/1.6.0/sbt-idea-1.6.0.jar ...
[SUCCESSFUL ] com.github.mpeltonen#sbt-1.6.0!sbt-idea.jar (10511ms)
[info] Done updating.完成后,在IDEA的sbt console下执行gen-idea命令,会提示reload project
External Libraries下会出现sbt的libraryDependencies
OK,配置完成。
下面在该sbt项目src/main/scala下创建一个scala object对象helloIDEA
* Created by Luffy on .
object helloIDEA {
def main(args: Array[String]) = {
println(&hello, IDEA&)
}在sbt console中执行:& compile
[info] Compiling 1 Scala source to C:\Users\Luffy\IdeaProjects\sbtFirst\target\scala-2.10\classes...
[success] Total time: 1 s, completed
[info] Running helloIDEA
hello, IDEA
[success] Total time: 0 s, completed
排名:第8586名
(187)(0)(19)(10)(9)(15)(1)(1)(1)(12)(8)Spark(15)
创建非sbt的scala项目
引入spark的jar包
File-&Project Structure-&Libararies引用spark-assembly-1.5.2-hadoop2.6.0.jar
import scala.math.random
import org.apache.spark._
* Created by code-pc on 16/3/2.
object test1 {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("Spark Pi").setMaster("local")
val spark = new SparkContext(conf)
val slices = if (args.length & 0) args(0).toInt else 2
val n = 100000 * slices
val count = spark.parallelize(1 to n, slices).map { i =&
val x = random * 2 - 1
val y = random * 2 - 1
if (x*x + y*y & 1) 1 else 0
}.reduce(_ + _)
println("Pi is roughly " + 4.0 * count / n)
spark.stop()
File -& Project Structure -& Artifacts
-& + -& Jars -& From moudles with dependencies
菜单栏:build Artifacts
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:554113次
积分:7323
积分:7323
排名:第2947名
原创:220篇
转载:16篇
评论:120条
(1)(2)(1)(3)(16)(22)(30)(22)(20)(8)(15)(5)(2)(4)(17)(25)(7)(1)(4)(2)(4)(25)【版权声明】博客内容由厦门大学数据库实验室拥有版权,未经允许,请勿转载!
对Scala代码进行打包编译时,可以采用Maven,也可以采用SBT,相对而言,业界更多使用SBT。之前有篇博客我们介绍了,采用的是Maven工具。今天这篇博客同样是使用Intellij Idea编写Spark应用程序,但是使用的是SBT工具。下面开始我们的教程。
Ubuntu 16.04
Spark 2.1.0
Intellij Idea (Version 2017.1)
安装Scala插件
安装Scala插件,该Scala插件自带SBT工具。如果已经安装Scala插件,即可跳过此步骤
点击Install,即可安装Scala插件。
构建基于SBT的Scala项目
如下图,按顺序执行如下操作:
选择Scala--->SBT
设置项目名,点击Finish即可。
这里需要设置Scala的版本必须2.11.*的版本号。因为Spark 2.0是基于Scala 2.11构建的。这个可以在Spark的官网查到,如下图:
利用SBT 添加依赖包
利用Spark的官网查到Spark artifacts的相关版本号,如下图:
编辑Intellij Idea项目中是build.sbt:
name := "SBTTest"
version := "1.0"
scalaVersion := "2.11.8"
libraryDependencies += "org.apache.spark" %% "spark-core" % "2.1.0"
编辑后,Intellij Idea弹出提示,如图:
可以选择Refresh Project手动刷新,也可以选择Enable auto-import让Intellij Idea以后每次遇到build.sbt更新后自动导入依赖包。
这里,选择Enable auto-import.
创建WordCount实例
执行如下命令,新建word.txt测试文件:
echo "hadoop hello spark hello world" && ~/word.txt
在Intellij Idea的src/main/scala项目目录下新建WordCount.scala文件,如下图:
内容如下:
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf
import org.apache.log4j.{Level,Logger}
object WordCount {
def main(args: Array[String]) {
//屏蔽日志
Logger.getLogger("org.apache.spark").setLevel(Level.WARN)
Logger.getLogger("org.eclipse.jetty.server").setLevel(Level.OFF)
val inputFile =
"file:///Users/Ruanrc/word.txt"
val conf = new SparkConf().setAppName("WordCount").setMaster("local[2]")
val sc = new SparkContext(conf)
val textFile = sc.textFile(inputFile)
val wordCount = textFile.flatMap(line =& line.split(" ")).map(word =& (word, 1)).reduceByKey((a, b) =& a + b)
wordCount.foreach(println)
右键WordCount.scala,选择执行该文件,如下图:
即可在Intellij Idea下面看到输出结果。}

我要回帖

更多关于 import maven project 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信