Mac m1 intellij idea gradle 通过brew快速安装配置及工具

Mac m1笔记本配置intellij idea gradle,主要会有Mac Java环境配置,maven和gradle的安装和环境配置,intellij idea的安装及配置,大致的主要节点是以上这些,但是本文并不是将所有的过程都做详细介绍,有些内容与之前的篇幅有冗余而只有引入介绍。所有涉及到的组件安装都是通过Mac的包管理工具brew来进行的,而且尽可能的简化环境配置。

安装maven和gradle

brew search maven 查看maven可用的包,我们可以看到不同版本的maven,如[email protected]对应的3.5版本的maven,如果要指定这个版本需要执行brew install [email protected], 笔者直接安装的最新版。

==> Formulae
maven ✔                   maven-completion          maven-shell               [email protected]                 [email protected]                 [email protected]

==> Casks
marvel                                               mauve                                                homebrew/cask-fonts/font-maven-pro
marvin                                               mavensmate                                           homebrew/cask-fonts/font-maven-pro-vf-beta

brew info maven 可以看到笔者写文章的时候最新的maven版本是3.8.5

maven: stable 3.8.5 (bottled)
Java-based project management
https://maven.apache.org/
Conflicts with:
  mvnvm (because also installs a 'mvn' executable)
/usr/local/Cellar/maven/3.8.4 (79 files, 10MB) *
  Poured from bottle on 2021-12-26 at 14:47:29
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/maven.rb
License: Apache-2.0
==> Dependencies
Required: openjdk ✘
==> Analytics
install: 53,700 (30 days), 197,586 (90 days), 751,731 (365 days)
install-on-request: 53,587 (30 days), 196,806 (90 days), 747,357 (365 days)
build-error: 0 (30 days)

同时关键的信息还有From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/maven.rb ,我们可以在浏览器中打开这个git文件,细心的读者就可以发现这个文件就是指定包版本的。关键的信息就是url mirror 和 sha256,如果我们想细化安装自己需要的版本就可以在该GitHub地址上点击 History: 查看历史提交列表,找到你想要的版本,把里边的内容复制到本地的文件。最后执行命令

brew install https://.../maven.rb
  homepage "https://maven.apache.org/"
  url "https://www.apache.org/dyn/closer.lua?path=maven/maven-3/3.8.5/binaries/apache-maven-3.8.5-bin.tar.gz"
  mirror "https://archive.apache.org/dist/maven/maven-3/3.8.5/binaries/apache-maven-3.8.5-bin.tar.gz"
  sha256 "88e30700f32a3f60e0d28d0f12a3525d29b7c20c72d130153df5b5d6d890c673"

安装完之后修改maven home下的setting文件等。

gradle的安装过程和maven的是一模一样的不再赘述。

* 强调一点,如果读者不提前安装好Java那么brew install maven的时候会把openjdk也安装好,因为笔者提前做了《MacBook–配置JDK[m1]》,所以brew info maven时才有 Required: openjdk ✘

无论是maven还是gradle通过brew install之后安装的路径一般是/usr/local/Cellar/下边,而gradle安装完不会自动添加到环境变量,按照安装完成时的提示方式添加到系统的环境变量即可。

intellij idea安装及配置maven和gradle

intellij idea的安装笔者不再赘述,读者可以随便度娘和Google即可找到很多教程,我们直接跳到配置环节。

最大化intellij idea,鼠标移动到最左上方点击 Intellij IDEA –> Preferences –> Build,Exccution,Deployment –> Build Tools –> Maven,主要修改一下三个内容

Mac m1  intellij idea gradle maven环境变量配置
maven环境变量配置

gradle和配置也与maven类似,主要指定gradle home即可

gradle home配置

默认情况下,Gradle不定义任何存储库,它使用的maven本地库,而gradle查找jar包顺序如下:gradle默认会按以下顺序去查找本地的仓库:USER_HOME/.m2/settings.xml >> M2_HOME/conf/settings.xml >> USER_HOME/.m2/repository。

这里就有一个值得关注的细节就是maven本地库指定了,可是gradle的优先检索位置却不是maven的本底仓库,而是去用户级的.m2下去找setting文件,它找不到那它就默认m2是本地缓存库,这样的结果就是maven本地库有一份jar包,m2目录下又有一份jar包文件,我们要做的是把maven的setting文件复制到m2目录下,让gradle可以知道maven本地库的位置。

Mac m1 brew install spark

前言

Mac m1 brew install spark。大数据组件spark入门学习时会有很多系统性的知识需要我们去学习,比如在大数据整个生态圈里spark、Hadoop等组件的角色定位、价值、应用方向、系统安装等。正是这个系统性的思维模式会让我们在各个计算机系统环境中布置spark的时候都惯性的先把Hadoop环境搭建好再依次搭建spark,实际上在Mac笔记本本地安装spark组件的时候是可以不安装Hadoop的,毕竟大多数在Mac上安装spark是为了一些rdd语法的练习,不是为了大量数据的处理。

Mac本身只有自己的软件管理工具的,类似于我们用Linux系统,不同的内核用不同的命令来安装所需的软件或者工具包,如yum, apt-get等。Mac的软件包管理命令是 brew,安装spark环境所需要的所有的软件包都可以用brew来管理。

基本情况

  1. MacBook Pro (13-inch, M1, 2020)
  2. macOS 12.3.1 (21E258)
  3. java version “1.8.0_291” java的安装和环境配置可以通过 文章: http://www.lifefunker.com/archives/51, 来了解具体的操作。有一个事情强调一下,没有bash_profile文件就别自己画蛇添足非要新建一个了…..,没有是因为真的它不再叫这个名字了,找个.zshrc 文件

安装

通过brew安装软件主要也是三步骤:

  • 查找软件包 — brew search
  • 明确软件包 — brew info
  • 安装软件包 — brew install
~ % brew search spark
==> Formulae
apache-spark ✔          spark                   sparkey                 spack                   sparse                  par

==> Casks
spark                               spark-ar-studio                     sparkle                             sparkleshare

命令brew search spark 顾名思义就是查找spark软件包,可以看到返回多个结果,这些结果都是名称,我们要安装的时候都是install对应的名称即可。但是我们发现有Formulae和Casks两个不同的,一般我们按Formulae。

  • 「Formulae」一般是那些命令行工具、开发库、字体、插件等不含 GUI 界面的软件。
  • 「Cask」是指那些含有 GUI 图形化界面的软件,如 Google Chrome、FireFox 、Atom 等。
~ % brew info apache-spark
apache-spark: stable 3.2.1 (bottled), HEAD
Engine for large-scale data processing
https://spark.apache.org/
/usr/local/Cellar/apache-spark/3.2.1 (1,472 files, 322MB) *
  Poured from bottle on 2022-05-16 at 17:36:18
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/apache-spark.rb
License: Apache-2.0
==> Dependencies
Required: openjdk@11 ✔
==> Options
--HEAD
	Install HEAD version
==> Analytics
install: 4,389 (30 days), 13,792 (90 days), 54,640 (365 days)
install-on-request: 4,387 (30 days), 13,777 (90 days), 54,556 (365 days)
 ~ % brew info spark
Warning: Treating spark as a formula. For the cask, use homebrew/cask/spark
spark: stable 1.0.1 (bottled)
Sparklines for the shell
https://zachholman.com/spark/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/spark.rb
License: MIT
==> Analytics
install: 559 (30 days), 1,612 (90 days), 5,995 (365 days)
install-on-request: 544 (30 days), 1,566 (90 days), 5,834 (365 days)
build-error: 0 (30 days)

通过brew info 我们分别查看了 apache-spark 和 spark 的两个软件包的信息,可以看到spark的版本太老旧了,至此我们决定安装apache-spark。

brew install apache-spark

安装完成后,环境变量一般是不会有可执行的命令的,需要我们去zshrc文件中添加对应的sparkhome,但是如果不想那么麻烦就直接去安装的路径下,找到对应的spark-shell文件添加软链来快速打开即可。

MacBook–配置JDK[m1]

系统比较老或者Mac本身比较旧的情况,随便搜一下教程即可安装,主要就是几个方式,一是通过brew 安装,或者是下载JDK按照安装步骤一步一步安装就好了,我们的这个教程对应的Mac系统版本信息如下:

MacBook Pro (13-inch, M1, 2020)
芯片:Apple M1

系统本身自带了openjdk的java环境,如果系统自带的版本对于我们要应用的项目不适用的话就需要从新安装环境,而安装的方式依旧是那三板斧。

方式一: brew安装; 访达->应用程序-> 实用工具->终端。 打开终端输入命令安装即可。

通过brew install 直接安装所需要的Java 版本即可,但是教新版本的Mac系统在通过brew安装的时候会有一些问题,比如直接 brew install java8 可能会报错,在或者直接 brew install –cask java8 依旧会报错,这个时候需要改变一下命令行的格式。brew install –cask homebrew/cask-versions/java8

方式二:直接官方下载需要的JDK版本

dk下载的地址是:https://www.oracle.com/technetwork/java/javase/downloads/index.html

注意:下载是在Oracle官方地址下载,需要账号下载,如果没有账号随便注册一个即可。

安装完之后我们的Mac至少有两个版本的java。查看默认的java版本通过在终端输入命令:java — version

openjdk 16.0.1 2021-04-20
OpenJDK Runtime Environment (build 16.0.1+9-24)
OpenJDK 64-Bit Server VM (build 16.0.1+9-24, mixed mode, sharing)

如上,输入了java –version之后我们得到的输出可能还是系统默认的java版本,而我们自己安装的java没有成为默认版本(这个情况一般出现在第二种下载安装的方式后)。

如何修改Mac默认java版本?

首先我们得先知道我们的机器上一共有几种java版本才可以,知己知彼才能事倍功半,现在的问题就转到了

如何查看Mac安装了几个版本的java? Mac的java默认安装路径在哪?

打开终端,执行     /usr/libexec/java_home -V

MacBook-Air:~ eng$ /usr/libexec/java_home -V
Matching Java Virtual Machines (4):
    1.8.0_101, x86_64:  “Java SE 8”     /Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home
    1.7.0_79, x86_64:   “Java SE 7”     /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
    1.6.0_65-b14-466.1, x86_64: “Java SE 6”     /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    1.6.0_65-b14-466.1, i386:   “Java SE 6”     /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home

默认JDK1.6(Apple自带JDK)路径:   /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

默认JDK1.7、1.8(Oracle) Home :  /Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home

小小历史课:

过去 Mac 上的 Java 都是由 Apple 自己提供的,只支持到 Java 6,并且OS X 10.7 开始系统并不自带(而是可选安装)。后来 Apple 加入 OpenJDK 继续支持 Java 6,而 Java 7 将由 Oracle 负责提供。

根据苹果的官方说明。Mac OS X 10.5 及以后的版本应该使用 /usr/libexec/java_home 命令来确定 JAVA_HOME ,而在此之前的版本由于没有这个命令,则应该使用固定的 /Library/Java/Home 目录。

最后的最后:

我们来说一下如何修改默认的java版本。很多教程会告诉你在终端输入 : cd 然后回车,直接跳到用户空间的根目录下,一般是在你电脑名字的目录里,你可以通过pwd 命令查看你当前的所在目录。

然后教程也一般会说编辑文件 .bash_profile (如何文件没有直接创建即可),但是如果Mac是新版本就会发现,这个文件基本上没有的,当然按照着教程的说法直接创建也是可以的。不过所有人都忽略一个事实一般,为啥新系统的Mac没有这个文件? 是不是有新的替代文件,答案是有替代文件。

在用户空间根目录下(如何不知道这个目录是哪里,就把终端全部关掉,然后再从新打开一个终端,那么打开的新终端所在的目录就是用户空间根目录)。输入命令: ls -thla

这个ls 命令是Linux基本操作命令,不做进一步说明解释。

命令输入后我们会在一堆名字中看到一个 .zshrc 的文件。我们直接。

vim .zshrc

把教程里说的添加 export JAVA_HOME=/path/to/java/dir(你java安装的目录),保存退出就可以了。