zoukankan      html  css  js  c++  java
  • [大数据从入门到放弃系列教程]在IDEA的Java项目里,配置并加入Scala,写出并运行scala的hello world

    [大数据从入门到放弃系列教程]在IDEA的Java项目里,配置并加入Scala,写出并运行scala的hello world

    原文链接:http://www.cnblogs.com/blog5277/p/8615984.html

    原文作者:博客园--曲高终和寡

    点击下面菜单查看大数据入门全部教程

    大数据从入门到放弃

    网址:

    http://www.cnblogs.com/blog5277/category/1179528.html

    **********************************分割***********************************

    其实按理说,Java项目是完全可以开发spark项目的,并不是一定需要scala来开发.

    但是天不遂人愿,新项目里面用到了supermap的组件,他们的组件对scala支持的更好一点,就表现在,用scala的话,某函数的入口参数只有两个

    但是用java的话就有4个

    然后我还完全不知道这些参数指的是啥,

    那没办法,只能换scala了(再加上spark就是基于scala开发的,技多不压身,学一学呗)

    万万没想到,我在用IDEA在集成scala的时候,遇到了这么多坑(部分是因为我自己对scala的认知不够)

    下面进入正题:

    **********************************分割***********************************

    一.下载IDEA的scala插件

    1.个人推荐方式:

    在IDEA-->设置-->插件-->搜索scala-->在仓库里找-->往下面翻一点,找到scala,看一下对应的版本号,记住这个版本号

    然后在:

    http://plugins.jetbrains.com/plugin/1347-scala

    去这里下载对应的版本(下载完的zip不要解压缩):

    经过非常非常漫长的下载....下载完了之后返回IDEA,在设置页面选择添加本地的插件:

     选择你刚刚下载完的zip,添加,apply一下,确定就可以了,IDEA会提示你重启idea生效,你重启一下,插件就装完了.

    2.不太推荐的方式...在idea-->设置-->插件-->搜索scala-->在仓库中搜索这里,其实可以直接安装的...

    明明这么方便,我为啥不推荐呢...因为在国内,这个插件的下载速度也太慢了...还很容易失败(方法一也巨慢无比,但是毕竟是用浏览器/迅雷下的,不会失败,失败了也会断点续传),而在这里,极其容易失败...

    开$$走PAC/全局代理/V屁N的方法我都试了,并不能加快下载速度,让人绝望...

    二,开始scala的hello world

    1.在项目上,右键,添加框架支持,选中出现的Scala

    2.(这一项是可选项,还是建议选的)在maven里加入scala相关的jar包和编译组件插件

    这里引用了 菩提树下的杨过 大神的教程

    https://www.cnblogs.com/yjmyzz/p/4694219.html

    <dependencies>
            <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-core -->
            <dependency>
                <groupId>org.apache.spark</groupId>
                <artifactId>spark-core_2.11</artifactId>
                <version>2.3.0</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.scala-lang/scala-library -->
            <dependency>
                <groupId>org.scala-lang</groupId>
                <artifactId>scala-library</artifactId>
                <version>2.12.4</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.scala-lang/scala-compiler -->
            <dependency>
                <groupId>org.scala-lang</groupId>
                <artifactId>scala-compiler</artifactId>
                <version>2.12.4</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.scala-lang/scala-reflect -->
            <dependency>
                <groupId>org.scala-lang</groupId>
                <artifactId>scala-reflect</artifactId>
                <version>2.12.4</version>
            </dependency>
    
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.scala-tools</groupId>
                    <artifactId>maven-scala-plugin</artifactId>
                    <version>2.15.2</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>compile</goal>
                                <goal>testCompile</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>

    3.在项目main下,和java同一级,新建个文件夹叫scala,你在这个文件下下就可以新建scala项目了

    4.这里介绍2种运行scala项目的方式,这里困扰了我好久...

    5.用java方式调用

    新建scala文件,用默认的方式建class文件,如下图:

    在新建出来的scala文件里面,按 command + j (windows下应该是alt吧...不行就试试ctrl),或者手动照着下面敲也可以

    输完后面的代码:

    这个时候你会发现你运行不了...:

    点它会出现控制台,然而这会你什么语法都不会..

    所以没办法了,新建一个java文件来运行scala文件吧,可别忘了,scala也是jvm语言,再加上kotlin,这俩语言可是号称能和java项目"无缝衔接"的,scala项目当然能用java来运行了,如下图:

    就把scala当一个java的类去调就行了,还是很方便的...的....吧...

    6.直接运行scala文件

    然而scala其实也有自己的运行方式,这点在创建文件的时候你要选择,不要用默认的class,要用object...(或者你把上面的class改成object也可以)

    这样的话这里就有运行选项啦,注意区别,这里是object

    好了,今天就到这了

  • 相关阅读:
    delphi之动态库调用和串口通讯
    git如何使用 svn如何使用
    delphi学习笔记1
    sql
    linux连接与传输等命令
    jdbc
    list/tstringlist/tobjectlist
    SQL GRANT
    Invalidate介绍
    FORM 的创建
  • 原文地址:https://www.cnblogs.com/blog5277/p/8615984.html
Copyright © 2011-2022 走看看