Scala & IntelliJ IDEA环境搭建升级版:在JAVA中调用Scala的helloworld

参考 :https://www.cnblogs.com/wangjuns8/p/8438920.html

---------------------

前言

---------------------

项目关系,希望用Spark GraphX做数据分析及图像展示,但前提是得会spark;spark是基于scala的,scala是基于JAVA的……所以,要想用Spark GraphX,技术堆栈大体上应该是这样的:Java -> Scala -> Spark -> Spark GraphX。

 

JAVA都这么多年了……就不说了,我们从学习Scala开始。

 

--------------------

说明

--------------------

1)Java配置完成,版本在1.8以上;

因为Scala是基于Java开发的,编译之后生成的class文件也可以远行在JVM上,并被Java调用。

2)IntelliJ IDEA已安装完成(我的版本是:2017.2.2)

3)开发环境:MacOS

 

--------------------

安装、配置Scala

--------------------

1. 安装Scala SDK

先到http://www.scala-lang.org/download/ 下载压缩包scala-2.12.4.tar并解压。

(也可以在IntelliJ IDEA 创建第一个scala源文件时,根据提示安装,详见《Scala & IntelliJ IDEA:环境搭建、helloworld》)

 

配置环境变量:

1)vi /etc/profile

在末尾添加:

export SCALA_HOME=/Users/yp-tc-m-2755/Documents/software/scala-2.12.4

export PATH=$PATH:$SCALA_HOME/bin

保存退出。

 

2)输入命令,使其生效:

source /etc/profile

 

3)检验(如果没生效,则重启终端):

$ scala -version

Scala code runner version 2.12.4 -- Copyright 2002-2017, LAMP/EPFL and Lightbend, Inc.

 

2. 安装Scala插件

依次:IntelliJ IDEA -> Preferences -> Plugins -> Browse repositories...

(或是在IntelliJ IDEA欢迎页面,右下角点击:Configure->Preferences)

 

1)在搜索框输入scala

2)在列表中选择Scala

3)点击右侧框的“Install”按钮(下图是安装完成之后的样子)

 

 

--------------------

创建Java Web项目

--------------------

1. 使用MAVEN框架,创建web项目

我选择的是:maven-archetype-webapp。

不为别的,就是因为会自动创建一个index.jsp,方便试验tomcat是否正常启动……

 

目录结构大概是这个样子的:

 

2. 手动添加java,scala文件夹

点击File->project structure->Modules

右键单击main文件夹,选择“New Folder”,分别创建java和scala文件夹。

 

2)分别选中java和scala,点击上面的按钮“Sources",

这样,就标记了这两个文件夹下的文件都是源码。

否则,想要创建源文件的时候,右键java或scala,在new->file里没有Java Class和Scala Class选项。

 

 3)在Global Liberaries里添加scala-sdk。

(如果是通过IDEA安装的sdk则不需要,已经默认添加了)

注意按上面的都做好后,在scala目录中点右键还是没有scala class这一项,那是为什么呢?

后来,又重新做上一步,点Global Libraries,再点+号,选我先前“browser",再选我c:\java64下的scala-sdk-2.14.7,再在scala目录点右键就有scala class了。

 

3. 在pom.xml里添加对scalas的依赖

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

<modelVersion>4.0.0</modelVersion>

 

<groupId>wangjun</groupId>

<artifactId>ScalaInJava</artifactId>

<packaging>war</packaging>

<version>1.0-SNAPSHOT</version>

 

<name>ScalaInJava Maven Webapp</name>

<url>http://maven.apache.org</url>

 

<dependencies>

<dependency>

<groupId>junit</groupId>

<artifactId>junit</artifactId>

<version>3.8.1</version>

<scope>test</scope>

</dependency>

 

<dependency>

<groupId>org.scala-lang</groupId>

<artifactId>scala-library</artifactId>

<version>2.12.4</version>

</dependency>

<dependency>

<groupId>org.scala-lang</groupId>

<artifactId>scala-compiler</artifactId>

<version>2.12.4</version>

</dependency>

<dependency>

<groupId>org.scala-lang</groupId>

<artifactId>scala-reflect</artifactId>

<version>2.12.4</version>

</dependency>

<dependency>

<groupId>log4j</groupId>

<artifactId>log4j</artifactId>

<version>1.2.12</version>

</dependency>

<dependency>

<groupId>com.google.collections</groupId>

<artifactId>google-collections</artifactId>

<version>1.0</version>

</dependency>

</dependencies>

<build>

<finalName>ScalaInJava</finalName>

<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>

</project>

 

注意:如果不添加<plugin>,在编译的时候会出现错误:no prefix 'scala' 或 找不到符号

 

4. 创建源文件:

1)在java目录下创建HelloJava.java,内容如下:

public class HelloJava {

public static void main(String[] args) {

System.out.println("Hello : Java");

HelloScala helloScala = new HelloScala();

helloScala.sayHello( " my first scala!");

}

}

 

2)在scala目录下创建HelloScala.scala,内容如下:

class HelloScala {

def sayHello(x: String): Unit = {

println("hello, " + x)

}

}

 

可以看到,在HelloJava里调用了HelloScala对函数sayHello。

 

5. 运行:

在HelloJava.java编辑框任意位置,右键单击,选择:Run 'HelloJava.main()'

控制台输出结果:

 

 

OK,可以开始Scala之旅了!

 

--------------------

参考

--------------------

1)scala intellij idea 环境搭建及编译、打包

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

2)IntelliJ IDEA + Maven创建Java Web项目

https://www.cnblogs.com/davidgu/p/5887938.html

3)运用Intellij创建自己的第一个Maven工程

http://blog.csdn.net/zhangxing52077/article/details/69525832

4)Maven 三种archetype说明

http://blog.csdn.net/cx1110162/article/details/78297654

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值