定制小程序开发需要先下载的插件并重启idea
点击File->Settings
新建一个spark-demo的maven项目
windows下在cmd定制小程序开发中查看自己scala版本(我windows定制小程序开发下已经安装好了scala)
定制小程序开发我的是社区版的所以需要在官网()下载Scala-SDK包并解压。如果是企业版的可以参考博客:
(或许有用或许没用,看看吧)
然后点击ok
发现没有scala这个选项,只有一个Groovy一个选项,(这个图是我解决后的图,之前的图忘了截了,凑活看吧)。
解决办法参考博客:
首先File->Project Structure,选择Modules,
选中,点击删除
重新add frameworks support添加,就有了scala选项
选中,点击ok
该目录下出现了scala-sdk说明添加成功
记得修改maven仓库为本地镜像
在main⽂件夹中建⽴⼀个名为 scala 的⽂件夹,并右键点击 scala ⽂件夹,选择 Make Directory as,然后选择Sources Root ,
这⾥主要意思是将 scala ⽂件夹标记为⼀个源⽂件的根⽬录,然后在其内的所有代码中的 package ,其路径就从这个根⽬录下开始算起。
在已经标记好为源⽂件根⽬录的 scala ⽂件夹 上,右键选择 New,然后选择 Scala Class,随后设置好程序的名称,并且记得将其设 置为⼀个 Object(类似于Java中含有静态成员的静态类),正常的话,将会打开这个 Object 代码界⾯,并且可以看到IntelliJ IDEA⾃动添加
了⼀些最基本的信息;
在创建的 Object 中输⼊如下语句:
def main(args: Array[String]):Unit = {println( "Hello World!" )}
点击左上角的run
静待程序的编译和运⾏,然后在下⽅⾃动打开的窗⼝中,就可以看到Hello World!了
导入spark依赖pom.xml,将下述代码替换掉原来的pom.xml文件内容
- <?xml version="1.0" encoding="UTF-8"?>
- <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/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <groupId>cn.hgu.spark</groupId>
- <artifactId>demo</artifactId>
- <version>1.0-SNAPSHOT</version>
-
- <properties>
- <maven.compiler.source>1.8</maven.compiler.source>
- <maven.compiler.target>1.8</maven.compiler.target>
- <scala.version>2.11.8</scala.version>
- <spark.version>2.2.3</spark.version>
- <hadoop.version>2.7.5</hadoop.version>
- <encoding>UTF-8</encoding>
- </properties>
- <dependencies>
- <!-- 导入scala的依赖 -->
- <dependency>
- <groupId>org.scala-lang</groupId>
- <artifactId>scala-library</artifactId>
- <version>2.11.8</version>
- </dependency>
- <!-- 导入spark的依赖 -->
- <dependency>
- <groupId>org.apache.spark</groupId>
- <artifactId>spark-core_2.11</artifactId>
- <version>${spark.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.spark</groupId>
- <artifactId>spark-sql_2.11</artifactId>
- <version>${spark.version}</version>
- </dependency>
-
- <!-- 指定hadoop-client API的版本 -->
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-client</artifactId>
- <version>${hadoop.version}</version>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.10</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <version>5.1.47</version>
- </dependency>
-
- </dependencies>
- <build>
- <pluginManagement>
- <plugins>
- <!-- 编译scala的插件 -->
- <plugin>
- <groupId>net.alchim31.maven</groupId>
- <artifactId>scala-maven-plugin</artifactId>
- <version>3.2.2</version>
- </plugin>
- <!-- 编译java的插件 -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.5.1</version>
- </plugin>
- </plugins>
- </pluginManagement>
- <plugins>
- <plugin>
- <groupId>net.alchim31.maven</groupId>
- <artifactId>scala-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>scala-compile-first</id>
- <phase>process-resources</phase>
- <goals>
- <goal>add-source</goal>
- <goal>compile</goal>
- </goals>
- </execution>
- <execution>
- <id>scala-test-compile</id>
- <phase>process-test-resources</phase>
- <goals>
- <goal>testCompile</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <executions>
- <execution>
- <phase>compile</phase>
- <goals>
- <goal>compile</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
-
- <!-- 打jar插件 -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-shade-plugin</artifactId>
- <version>2.4.3</version>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>shade</goal>
- </goals>
- <configuration>
- <filters>
- <filter>
- <artifact>*:*</artifact>
- <excludes>
- <exclude>META-INF/*.SF</exclude>
- <exclude>META-INF/*.DSA</exclude>
- <exclude>META-INF/*.RSA</exclude>
- </excludes>
- </filter>
- </filters>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </project>
需要稍微等几分钟才能下载完相应的版本依赖。