[最新]使用 IDEA 從0到1搭建 Scala 開發環境(含打 Jar 包到 Linux 執行)
前置環境:
名稱 | 版本號 |
---|---|
IDEA | ntelliJ IDEA 2020.1 x64 |
Maven | 3.6 |
Linux | CentOS 7.6 |
Linux Spark | 1.6 |
Linux Scala | 1.12.0 |
一、Windows平臺配置Scala
步驟:下載—>解壓—>配置環境變數—>cmd測試
1.點選連結下載Scala 2.11.8版本(提取碼:fwdx)
2.解壓到一個無中文、無空格的路徑,解壓
3.配置環境變數
- 進入檔案,複製路徑
- 點選我的電腦,右鍵,點選高階系統設定,點選環境變數
- 新建SCALA_HOME,注意變數名大寫,路徑詳細到能看見/bin目錄即可
- 新增PATH中的環境變數,值:
%SCALA_HOME%\bin
- 完成後依次儲存即可。如果CMD不能調出來SCALA,可以同時新增系統和使用者的環境變數。
4.CDM測試。按win鍵,輸入cmd
,然後輸入scala
。(SCALA依賴於JDK,如果沒有安裝JDK,也有可能導致失敗)
二、IDEA配置Scala
步驟:退出所有專案—>下載Scala外掛—>重啟IDEA
1.點選IDEA左上角的file
–>close project
,退出所有專案,這一步是為了防止配置只對當前專案生效
2.下載Scala外掛
- 點選
Configure
,選擇plugins
(外掛)
- 搜尋
Scala
,點選install
,然後點選應用,重啟IDEA
三、建立專案,並打包到Linux中
步驟:新建maven
專案—>新建Scala
檔案—>打包—>到Linux中執行
1.新建一個專案
-
在IDEA新建專案,選擇Maven,點選模板,選擇
Scala
。(有時候可能沒有,其實不一定需要模板,可以後期自己新增Maven座標)
-
命名專案
-
這裡是關於Maven的配置與本地倉庫設定,直接跳過即可
-
完成
可能會報錯…因為有些依賴包找不到,我把修改後的依賴包放到文末了,直接複製貼上即可。
2.新建Scala
工程
- 選擇模板的話,預設有一個
App.scala
,沒有選擇模板的,新建Scala即可 - 修改程式碼
package org.example
/**
* Hello world!
*
*/
object App {
def main(args: Array[String]): Unit = {
println( "Hello World!" )
}
}
- 可能會沒有
Scala
的直譯器,右上角點選file
–>project structrue
,手動指定直譯器
- 執行
2.打包 - 選擇IDEA右邊中間的
Maven
,點選package
- 完成後目錄結構中會有一個
target
,目錄中有一個以專案名命名的jar包
3.執行:把jar
包複製到Linux
中執行(之前在伺服器測試是沒問題的,本機沒有Scala環境,簡單羅列一下步驟吧) - 上傳到
Linux
當中。如果是大檔案,用xftp
等專業工具傳輸,穩定,速度快。如果是小檔案,我推薦yum
安裝lrzsz
,安裝後可以直接使用sz
命令上傳,也可以直接拖到Linux
當中。
安裝外掛命令:
yum -y install lrzsz
- 執行指令碼。格式:
spark-submit jar包路徑 --class 入口類名
spark-submit ./ScalaWordCount-1.0-SNAPSHOT.jar --class App
Maven座標配置檔案
<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>org.example</groupId>
<artifactId>ScalaWordCount</artifactId>
<version>1.0-SNAPSHOT</version>
<inceptionYear>2008</inceptionYear>
<properties>
<scala.version>2.11.8</scala.version>
</properties>
<repositories>
<repository>
<id>scala-tools.org</id>
<name>Scala-Tools Maven2 Repository</name>
<url>http://scala-tools.org/repo-releases</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>scala-tools.org</id>
<name>Scala-Tools Maven2 Repository</name>
<url>http://scala-tools.org/repo-releases</url>
</pluginRepository>
</pluginRepositories>
<dependencies>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>${scala.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.specs</groupId>
<artifactId>specs</artifactId>
<version>1.2.5</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<sourceDirectory>src/main/scala</sourceDirectory>
<testSourceDirectory>src/test/scala</testSourceDirectory>
<plugins>
<plugin>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
<version>2.11</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
<configuration>
<scalaVersion>${scala.version}</scalaVersion>
<args>
<arg>-target:jvm-1.5</arg>
</args>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<downloadSources>true</downloadSources>
<buildcommands>
<buildcommand>ch.epfl.lamp.sdt.core.scalabuilder</buildcommand>
</buildcommands>
<additionalProjectnatures>
<projectnature>ch.epfl.lamp.sdt.core.scalanature</projectnature>
</additionalProjectnatures>
<classpathContainers>
<classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER</classpathContainer>
<classpathContainer>ch.epfl.lamp.sdt.launching.SCALA_CONTAINER</classpathContainer>
</classpathContainers>
</configuration>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
<version>2.11</version>
<configuration>
<scalaVersion>${scala.version}</scalaVersion>
</configuration>
</plugin>
</plugins>
</reporting>
</project>
相關文章
- .NET 6 從0到1使用Docker部署至Linux環境DockerLinux
- IDEA打可執行的jar包IdeaJAR
- Scala開發之1:環境搭建
- Scala--執行環境搭建
- 從環境搭建到打包使用TypeScriptTypeScript
- 從0到1使用kubebuiler開發operatorUI
- 基於Jenkins+Maven+Gitea+Nexus從0到1搭建CICD環境JenkinsMavenGit
- 從0到1打造正規表示式執行引擎(一)
- 從0開始搭建preact開發環境React開發環境
- SpringBoot+Thyemleaf開發環境正常,打jar包發到伺服器就報錯Template might not exist or might not ..Spring Boot開發環境JAR伺服器
- 《Golang 從入門到跑路》之開發環境搭建Golang開發環境
- 從0到1玩轉執行緒池執行緒
- Linux系統下執行Jar包以及idea遠端除錯jar包LinuxJARIdea除錯
- 從0到1開發搭建智慧線上客服系統
- 《Angular2 從開發到部署系列》之「環境搭建」Angular
- 用weexplus從0到1寫一個app(1)-環境搭建和首頁編寫APP
- 使用IntelliJ IDEA 搭建 spring mvc開發環境IntelliJIdeaSpringMVC開發環境
- DNSLOG平臺搭建從0到1DNS
- IDEA+gradle將springBoot專案打可執行的Jar包IdeaGradleSpring BootJAR
- 【Hadoop】:Windows下使用IDEA搭建Hadoop開發環境HadoopWindowsIdea開發環境
- idea從新建一個maven專案到打包成可執行jar包全流程供介面測試簽名使用IdeaMavenJAR
- 0001 嵌入式開發帶你從小白到大佬系列之——Linux開發環境搭建—Windows-VMware-Ubuntu環境配置Linux開發環境WindowsUbuntu
- Docker安裝java環境並部署jar包執行DockerJavaJAR
- idea開發之springboot環境搭建IdeaSpring Boot
- 從0到1搭建自助分析平臺
- Linux/Go環境搭建, HelloWorld執行LinuxGo
- UI元件庫從0到1開發心得UI元件
- Flutter 開發從 0 到 1(五)原始碼Flutter原始碼
- 如何理解敏捷開發的從0到1敏捷
- Linux搭建開發環境Linux開發環境
- 【Python程式設計從入門到實踐】 1 Linux搭建Python編譯環境Python程式設計Linux編譯
- 1 – 搭建開發環境開發環境
- 淺談公司java開發執行環境搭建(ubuntu環境)JavaUbuntu
- Linux jar包 後臺執行LinuxJAR
- webpack從0到1使用指南Web
- Linux C++ 開發1 - 搭建C++開發環境LinuxC++開發環境
- 使用multipass在mac搭建linux開發環境MacLinux開發環境
- PHash從0到1