Scala的安装部署&Maven的安装部署

scala的基本知识

1.Scala是什么?(学会看官网:The Scala Programming Language (scala-lang.org))

  Scala是一门多范式语言,类似于java,设计初衷是①实现可伸缩的语言;②集成面向对象编程(object-oriented)和函数式编程的各种特性。

  多范式:①面向对象;②面向过程;③泛型;④函数式。

  重点:scala运行在JVM上的,是面向对象和函数式编程。scala运行在JVM上,需要先安装jdk。

  java运行流程:程序代码通过javac编译成字节码文件,然后通过java运行。

  思考:既然java是通过javac编译成字节码文件,然后通过java运行,那么scala是否也可以通过scalac编译成字节码文件再通过scala运行?  答案是肯定的,可以通过scala安装部署后,查看 ~/app/scala-2.12.14/bin,里面有对应的scala和scalac 

2.为什么学scala?

  因为scala是Spark、Flink 和kafka的基础,Spark的源码:scala;Flink的源码是java和scala,scala与spark相互促进,所以scala是重中之重。

  Scala的特点:优雅。体现在:①文件和文件夹的命名;②开发速度快(scala语言表达能力强);③因为scala运行在JVM上,很好的整合了java已有的,所以scala和java是可以相互调用的。  

3.scala与java对比

Java提供了很多常用的类,如果环境OK,只要引入java的SDK,就可以直接使用String、List(在rt.jar/java/util/List目录下)、ArrayList(在rt.jar/java/util/ArrayList/ArrayList目录下)之类的。

  String name = "若泽";

  ListList = new ArrayList<>();

  System.out.println(name);  [这里输入name.so直接回车自动跳出该语句]   选中上述代码右键点击"Run TestApp.main()'运行。

  上述过程为:javac TestApp.java生成.class文件,通过java运行生成javac TestApp

  Scala也有自己的SDK,在scala里面可以直接调用java的SDK,也可以直接使用String、List、ArrayList之类的。

Java用的是javac;scala用的scalac和scala的组合使用。

Scala的安装部署(scala 2.12.14版本)

安装前的准备:

  1.Scala可以安装在Windows也可以安装在Linux上(scala 2.12.14)

  2.java -version //查看java版本,确保1.8+

  3.家目录下准备以下文件夹:①software:存放下载的安装包;②source:源码;③data:测试数据;④app:安装目录;⑤script:脚本; ⑥lib:存放第三方jar包(依赖包),比如mysql的驱动。

Scala安装部署:

1.官网下载安装包

2.上传安装包scala-2.12.14.tgz到Linux下/home/hadoop001/software目录; 

3.tar -xzvf scala-2.12.14.tgz -C /home/hadoop001/app;  //解压 (-C:指定目录);

上传及解压

   cd ~/app/scala-2.12.14

   ll

   cd bin        //bin目录下就是脚本

   ls

   rm *bat     //删除所有的.bat文件(.bat是Windows的)

   ls     此时还剩:fsc、scala、scalac、scaladoc(生成文档用的) 、scalap

4.配置环境变量:把scala加入到环境变量之中

  vi ~/.bashrc

        export SCALA_HOME=/home/hadoop001/app/scala-2.12.14

        export PATH=$SCALA_HOME/bin:$PATH

  source ~/.bashrc   //让环境变量生效(新打开一个窗口也会生效)

  echo $SCALA_HOME/      //输出目录

  scala 回车   //启动scala,进入scala交互式命令行(REPL)

此时scala部署已经完成了。

   scala> 1+1回车,返回:res0:Int=2    交互式:既有输入也有输出,输入“1+1”,输出“2”

  思考:当输入scala代码时,底层是否有一个解释器或编译器,把代码转换成字节码,然后通过JVM运行,把结果返回命令行?    答案肯定是的。(光标一直跳动说明它在等待字节输入)

  Ctrl+C再回车退出scala交互式命令行,scala回车进入交互式命令行。

  scala> 1+3 返回res0:Int=4  res0:Int=4 就是变量名(名字):数据类型, 其中res+自增的数字表示变量名;数据类型是可以推导出来的。

小练习:

scala> res0*3 返回:res1:Int=12;scala> res0*res1返回:res2:Int=48

scala> String.out.println("若泽数据...") 返回:若泽数据...

scala>println("LK哥") 返回:LK哥

打开一个新对话对比java和scala:

1.java方式:

cd ~/tmp/scala

vi HelloWorld.java

      public class HelloWorld{

                 pubic static void main(String[] args){

                 System.out.println("欢迎来到若泽大数据"); //注意这里“;”

            }

        }

javac HeiioWorld.java  //编译

ll  //此时显示生成了一个HelloWorld.class文件

java HelloWord  //运行

2.scala方式:

vi HelloWorld.scala

      object HelloWorld{

                 def main(args:Array[string]){

                 Println("你好,LK哥")  //注意这里没有“;”,scala不用分号结尾

            }

        }

scalac HeiioWorld.scala  //编译

ll  //此时显示生成了一个HelloWorld$.class文件

scala HelloWord  //运行

对比上面两种方式说明.scala文件通过scalac编译成字节码文件再运行。

  若把生成的.class文件删除了,java HelloWord.java不能运行;

而scala HelloWorld.scala可以运行,scala可以一步到位。

java HelloWord.java报错; scala HelloWorld.scala正常执行

Maven的安装部署 (apache-maven-3.8.3版本)

IDE:集成开发环境(Eclipse/MyEclipse/IDEA,IDEA是具体的开发工具,使用maven进行依赖的管控)

Maven是Apache的顶级项目(域名都是:xxx.apache.org),域名:maven.apache.org,Windows和Linux都可以装。

maven的安装部署:

1.打开Maven官网,直接点Download.选择版本3.8.3,选择Files第1,2个下载。

2.上传apache-maven-3.8.3-bin.tar.gz到Linux下 /home/hadoop001/software

3.tar -xzvf apache-maven-3.8.3-bin.tar.gz -C /home/hadoop001/app

4.配置环境变量:把maven加入到环境变量中

  vi ~/.bashrc

         export MAVEN_HOME=/home/hadoop001/app/apache-maven-3.8.3

         export PATH=$MAVEN_HOME/bin:$PATH

  source ~/.bashrc   //让环境变量生效(新打开一个窗口也会生效)

  cd $MAVEN_HOME/      

ll  //此时有个关键文件夹conf

cd conf/

ll     //此时有个关键文件:setting.xml

vi setting.xml  //这里面有个默认配置:Default:${user.home}/.m2/repository,意思是maven需要到中央仓库把我们所需的依赖包下载到本地仓库的默认路径是:当前用户名下/.m2/repository

以hadoop001为例,在当前目录下:cd .m2,然而此时没有.m2隐藏文件夹,必须先执行mvn help:system命令查看java的环境变量和系统属性,这时系统会自动下载一些maven相关文件,.m2文件夹才会生成。

找不到.m2
运行 mvn help:system
.m2出现

cd .m2/repository //这里存放了很多依赖的jar包。

【隐患】:默认路径在:当前用户/.m2/repository

建议:如果maven安装在Windows上,建议更改目录到其他盘(不要C盘,否则重装系统麻烦)

修改方式:将Default:${user.home}/.m2/repository下面一行移到注释外面,同时在之间插入指定路径。

你可能感兴趣的:(Scala的安装部署&Maven的安装部署)