在Mac OS X上进行Maven安装


545

我正在尝试按照以下说明通过终端安装Maven 。

到目前为止,我知道了

export M2_HOME=/user/apple/apache-maven-3.0.3
export M2=$M2_HOME/bin
export PATH=$M2:$PATH
export JAVA_HOME=/usr/java/jdk1.6.0_22

这可能是一个愚蠢的问题,您在哪里可以找到它?


什么你正在努力寻找?使用列出环境变量的方式使用环境变量,您应该能够mvn从终端窗口调用可执行文件。
斯里·桑卡兰

如果像我一样,您正在尝试从Maven 3降级到Maven 2,请参见以下出色的博客:blog.frau-klein.org/2011/04/…–
Jeff

2
埃德加多我认为,如果可以的话,您应该取消选中检查的答案...
jcollum 2016年

Answers:


208

Mavericks(10.9)之前的OS X实际上内置了Maven 3。

如果您使用的是OS X Lion,则默认情况下不会安装Java。只需java自行运行,它会提示您安装它。

假设符合条件,请运行mvn -version并查看以下输出:

Apache Maven 3.0.3 (r1075438; 2011-02-28 12:31:09-0500)
Maven home: /usr/share/maven
Java version: 1.6.0_29, vendor: Apple Inc.
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Default locale: en_US, platform encoding: MacRoman
OS name: "mac os x", version: "10.7.2", arch: "x86_64", family: "mac"

1
如果出于某种原因需要在狮子上使用maven 2,则需要下载它,设置M2_HOME,然后需要确保安装它的位置在/ usr / bin之前,或者交换/ usr / bin / mvn找出与您的符号链接。我知道很多人仍在使用Maven 2进行工作,包括我自己在内。
Michael

3
只是为了方便,山狮还附带了3.0.3。
迈克尔(Michael)

389
使用OSX 10.9 Maverick更新时,默认情况下不再安装Maven。
田俊杰

14
@Michael我在Maverick上安装了Java,但没有为我安装Maven。
Swapnil 2013年

6
优胜美地不使用Java或xcode命令行工具将maven作为安装的一部分。
迈克尔

1896

另外,我建议为这些实用程序安装Homebrew

然后,您只需使用以下命令安装Maven:

brew install maven

PS:如果遇到404错误,请尝试brew update先执行


163
在OS X 10.9 Mavericks中,由于未安装Maven(至少在beta中),因此这是正确的答案。
Nacho L.

9
这是一个答案,但不仅仅是“正确”的答案。从Maven网站下载Maven二进制zip更加便捷。
RCross 2013年

16
在OS X 10.9上,您应该使用brew install maven30Maven 3.1.1,因为它似乎有问题。
tadeuzagallo 2013年

18
brew install homebrew/versions/maven30为我做了。谢谢@TadeuZagallo!
fmquaglia

16
不再需要使用brew install maven30,因为最新版本3.2.1相当快,并且似乎没有3.1.1所具有的错误。
Michael Hogenson 2014年

239

免责声明:考虑到OS X的最新版本(10.9 AKA Mavericks),这是一个完整的答案。我知道我在此答案中编译的所有内容均已存在于页面中,但是将其清楚地包含在一个答案中将使其更加清晰。

首先,在OS X的早期版本中,默认情况下会安装Maven。如果缺少Java,则you@host:~ $ java在终端上运行时会提示您安装Java。

在Mac OS X 10.9(Mavericks)中,默认情况下不再安装Maven。然后可能有不同的选择:

  • 使用自制程序
    • you@host:~$ brew install maven 将安装最新的Maven(2018年2月1日的3.5.2)
    • you@host:~$ brew install maven30 如果需要,将安装Maven 3.0
  • 使用Macports:(我没有对此进行测试)
    • you@host:~$ sudo port install maven 将安装最新的Maven(?)
    • 要么:
    • you@host:~$ sudo port install maven3 将安装Maven 3.0
    • you@host:~$ sudo port select --set maven maven3 选择那个版本的Maven
  • 手动安装:
    • 从其主页下载Maven
    • 请遵循安装说明:
      1. 解压缩发行档案,即apache-maven-3.3.9-bin.tar.gz到您想要安装Maven 3.3.9的目录。子目录apache-maven-3.3.9将从存档中创建。
      2. 可选:添加MAVEN_OPTS环境变量以指定JVM属性,例如export MAVEN_OPTS="-Xms256m -Xmx512m"。此环境变量可用于为Maven提供其他选项。
      3. 确保将JAVA_HOME设置为您的JDK的位置,例如,export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)并且该$JAVA_HOME/bin位置在您的PATH环境变量中(尽管对于最新的Mac OS X版本和Oracle JDK可能不是必需的)。
      4. 添加提取apache-maven-3.3.9/bin到您的$PATH
      5. 运行mvn --version以验证它是否已正确安装。

6
sudo port install maven3安装Maven 3.0.5。
评判

3
手动安装时,不要闲逛尝试寻找,而是JAVA_HOME考虑使用export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)(参见此答案)。另外(至少在使用Oracle JDK 1.8的Mavericks和Yosemite上),您不需要$JAVA_HOME/bin在路上,因为所有内容都是从链接的/usr/bin
David Moles,2015年

您对更好的定义方法是正确的JAVA_HOME!我不知道符号链接,但我编辑了答案以包括您的评论。谢谢
snooze92 2015年

1
最好添加export说明~/.bash_profile使其在所有会话中都可用,请参阅此帖子以了解详细信息
Miranda 2015年

比什么更好,@ Miranda吗?我没有export手动安装选项中指定在何处执行s,因为我认为选择手动安装的人们最了解他们要在哪里进行这些导出。我觉得这对于每个人和每个系统都是非常特定的。
snooze92

89

当我最近升级到OS X Mavericks时,我的Maven构建开始失败。所以我需要再次安装maven,因为它没有内置。然后我尝试使用以下命令:

brew install maven 

它可以工作,但是会安装Maven 3.1.1版,这会给一些用户(如https://cwiki.apache.org/confluence/display/MAVEN/AetherClassNotFound)造成一些问题。因此,如果遇到相同的问题,则可能需要安装早期的Maven版本3.0.5。要使用Homebrew做到这一点,您必须执行以下命令:

brew install https://raw.github.com/Homebrew/homebrew-versions/master/maven30.rb

就是这样,然后它将使用其他的Homebrew公式,该公式将为您提供maven 3.0.5。


当前原始文件偶尔会503-ing。当它起作用时,我将其保存到本地文件中。
NRitH 2013年

1
必须手动编辑brew文件,以避免404。“ brew edit maven”。我在其中一个镜像中为“ url”进行了硬编码,还不得不更改“ sha”校验和。网址' apache.mesi.com.ar/maven/maven-3/3.0.4/binaries/... ' SHA1 'aecc0d3d67732939c0056d4a0d8510483ee1167e'
德里克-

如果要brew安装Maven 3.1.1+,也请确保brew update在执行此操作之前获取最新brew install maven版本。
加里·韦弗

2
brew install maven30
timomeinen 2014年

1
我刚用过brew install maven,它安装了3.0.5。这是我执行操作时显示的内容mvn -versionmvn -version Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 05:51:28-0800) Maven home: /usr/local/Cellar/maven/3.0.5/libexec Java version: 1.7.0_45, vendor: Oracle Corporation Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre Default locale: en_US, platform encoding: UTF-8 OS name: "mac os x", version: "10.9.3", arch: "x86_64", family: "mac"
Azurespot 2014年

49

macOS Sierra起

brew install maven


3
尽管此代码段可以解决问题,但提供说明确实有助于提高您的帖子质量。请记住,您将来会为读者回答这个问题,而这些人可能不知道您提出代码建议的原因。也请尽量不要在代码中加入解释性注释,这会降低代码和解释的可读性!
kayess

1
如果收到“未找到酿造命令”,则需要先安装brew。那是到网站brew.sh的链接那是安装命令/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
3akat

40

如果在OS X 10.9 Mavericks上使用MacPorts,则只需执行以下操作:

sudo port install maven3
sudo port select --set maven maven3

38

要在OS X上安装Maven,请访问Apache Maven网站并下载二进制zip文件。

然后,您可以将“下载”文件夹中的apache-maven-3.0.5文件夹移动到您想保留Maven的任何位置;但是,由于该过程的其余部分都涉及命令行,因此我建议您从那里开始。

在命令行中,您将运行以下命令:

mv ~/Downloads/apache-maven-3.0.5 ~/Development/

这只是我个人的喜好-在我的主目录中有一个“开发”目录。您可以根据需要选择其他内容。

接下来,在您选择的编辑器中编辑〜/ .profile,并添加以下内容:

export M2_HOME="/Users/johndoe/Development/apache-maven-3.0.5"
export PATH=${PATH}:${M2_HOME}/bin

第一行对Maven很重要(并且必须是一条完整的明确路径);第二行对于shell很重要,以便运行“ mvn”二进制文件。如果.profile中已经有第二行的变体,则只需在其末尾添加$ {M2_HOME} / bin。

现在打开第二个终端窗口并运行

mvn -version

这应该给输出像...

Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 13:51:28+0000)
Maven home: /Users/johndoe/Development/apache-maven-3.0.5
Java version: 1.7.0_40, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.9", arch: "x86_64", family: "mac"

需要注意的几件事:

  1. 如果安装了Oracle JDK 1.7,则在上面的输出中可能会发现Maven报告JDK 1.6。要解决此问题,请将以下内容添加到您的〜/ .profile中:

    导出JAVA_HOME = $(/ usr / libexec / java_home)

  2. 正如某些人指出的那样,Maven过去一直是OS X本身提供的,或者是XCode的可选命令行工具提供的。对于将来的OS X版本,情况可能不再如此,实际上OS X Mavericks不包括Maven。个人意见:这可能是因为它们仍处于测试阶段,或者可能是因为Apple已经研究了最新的Thoughtworks Technology Radar,并发现Maven已移至“持有”状态。


3
从发布Mavericks的第二天开始,它不再与Maven一起提供。您的说明对您有所帮助。
布莱斯·菲舍尔

我想我完全遵循了这些指示,甚至是〜/ Development。但是apache-maven-3.0.5没有子目录“ bin”。
garyp 2014年

糟糕,我下载了源代码发行版,而不是bin。对不起,噪音。
加里普2014年

MAC OS Sierra(10.12.4)的.profile或.bash_profile等效于什么?我正在尝试安装maven,但我的家庭帐户中没有.profile或.bash_profile ...
Crenguta S

@CrengutaS它是〜/ .profile,但是默认情况下该文件不存在;您必须创建它。有关为何没有.bash_profile的解释,请参阅apple.stackexchange.com/questions/119711/…
RCross,


25

只是一个简短的补充;如果要使用Homebrew 1.5.2在MacOS上安装特定版本,可以通过以下方式安装它:

  1. 酿造更新
  2. 酿造搜索专家

这将为您提供自制版本的Maven版本

  1. brew安装maven@3.3

[如果要安装maven 3.3。]


12

该命令brew install maven30对我不起作用。抱怨缺少一个配方。但是以下命令确实起作用。我已经安装了maven-3.0.5。

brew install homebrew/versions/maven30

这适用于Mac OS X 10.9(又名Mavericks)。


1
对于那些brew install maven正在安装的非常有问题的Maven 3.1.1遇到问题的用户,这是最佳答案。
Nacho L.

@ShajeelAfzal您需要安装Homebrew。可以使用以下命令完成:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
edufinn

brew install homebrew/versions/maven32在Sierra上为我工作
Tobi

现在,我建议使用来安装最新的Maven brew install maven
edufinn

10

如果您不想只为安装Maven而安装Homebrew,则只需执行以下操作:

  1. 下载二进制Maven并解压缩zip

  2. 启动终端并键入以下命令:

    sudo ln -s /path_to_maven_folder/bin/mvn /usr/bin/mvn

您可以在这篇文章中找到更多详细信息。


1
我得到了ln: /usr/bin/mvn: Operation not permitted回应,我认为我需要遵循以下要求:stackoverflow.com/a/32661637/1773155解决问题。
Shajeel Afzal

在El-Capitan,我发现它需要进入/ usr / local / bin / mvn。似乎比上面引用的stackvoerflow链接更简洁
eric

7
brew install maven31 (if you have homebrew)


6

对于刚刚迁移到特立独行的人-我使用了* -ux解决方案;

  1. 从Apache Maven网站下载Maven
  2. 放入/ opt
  3. 修改了.bash_profile并添加:

    alias mvn='/opt/apache-maven-3.1.1/bin/mvn'
    export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/Home

2
谢谢你 您可能应该将Maven bin目录添加到$ PATH中。
Evan B.

当您用来下载maven的Maven网站向您提供有关如何“正确方式”执行操作的说明时,为什么将其称为“ Quick'n肮脏方式”?看我的答案。
snooze92 2013年

为了消除这种废话,请运行unalias mvn
egorikem '18 October

5

两种方法

  • (使用自制软件)自动安装:
    • 命令:
      • brew install maven
    • 利弊
      • 优点:简单
      • 缺点:(可能)不是最新版本
  • 手动安装(对于最新版本):
    • 利弊
      • 优点:使用您期望的任何(或最新版本)
      • 缺点:需要自我去做
    • 脚步
      • Maven官方下载最新的二进制(apache-maven-3.6.3-bin.zip)版本
      • 解压缩(apache-maven-3.6.3-bin.zip)并添加maven path到环境变量中PATH
        • 通常是编辑并添加:
          • export PATH=/path_to_your_maven/apache-maven-3.6.3/bin:$PATH
        • 进入您的启动脚本(~/.bashrc或其他~/.zshrc

额外注意

如何立即生效并检查安装是否正确?

A:

source ~/.bashrc
echo $PATH
which mvn
mvn --version

这里输出:

  bin pwd
/Users/crifan/dev/dev_tool/java/maven/apache-maven-3.6.3/bin
  bin ll
total 64
-rw-r--r--@ 1 crifan  staff   228B 11  7 12:32 m2.conf
-rwxr-xr-x@ 1 crifan  staff   5.6K 11  7 12:32 mvn
-rw-r--r--@ 1 crifan  staff   6.2K 11  7 12:32 mvn.cmd
-rwxr-xr-x@ 1 crifan  staff   1.5K 11  7 12:32 mvnDebug
-rw-r--r--@ 1 crifan  staff   1.6K 11  7 12:32 mvnDebug.cmd
-rwxr-xr-x@ 1 crifan  staff   1.5K 11  7 12:32 mvnyjp
  bin vi ~/.bashrc
  bin source ~/.bashrc
  ~ echo $PATH
/Users/crifan/dev/dev_tool/java/maven/apache-maven-3.6.3/bin:xxx
  bin which mvn
/Users/crifan/dev/dev_tool/java/maven/apache-maven-3.6.3/bin/mvn
  bin mvn --version
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /Users/crifan/dev/dev_tool/java/maven/apache-maven-3.6.3
Java version: 1.8.0_112, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.14.6", arch: "x86_64", family: "mac"

有关详细信息,请参阅我的中文帖子:【已解决】Mac中安装Gradle


4

打开一个TERMINAL窗口,然后检查是否已安装。

类型:

$ mvn –version

并且您应该看到:

Apache Maven 3.0.2 (r1056850; 2011-01-09 01:58:10+0100)
Java version: 1.6.0_24, vendor: Apple Inc.
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Default locale: en_US, platform encoding: MacRoman
OS name: “mac os x”, version: “10.6.7″, arch: “x86_64″, family: “mac”

如果尚未安装Maven,则以下是下载和安装Maven以及在Mac OS X上配置环境变量的方法:

http://bitbybitblog.com/install-maven-mac/




2

您可以使用Maven版本管理器,通过它可以在每个目录库中使用多个Maven版本。

安装

使用自制软件 brew install mvnvm

没有自制软件mkdir -p ~/bin && curl -s https://bitbucket.org/mjensen/mvnvm/raw/master/mvn > ~/bin/mvn && chmod 0755 ~/bin/mvn并添加~/bin到路径。

用法

默认版本

要设置默认的Maven版本,请将环境变量设置为默认使用的Maven版本DEFAULT_MVN_VERSION

文件夹的Maven版本

mvnvm.properties在文件夹中创建一个名为的文件,并按如下所示配置Maven版本

mvn_version=<maven version>


1
% sudo port selfupdate; 
% sudo port upgrade outdated;
% sudo port install maven3;
% sudo port select --set maven maven3;

— add following to .zshenv -- start using zsh if you dont —
set -a
[[ -d /opt/local/share/java/maven3 ]] &&
    M3_HOME=/opt/local/share/java/maven3 &&
    M2_HOME=/opt/local/share/java/maven3 &&
    MAVEN_OPTS="-Xmx1024m" &&
    M2=${M2_HOME}/bin
set +a


1

使用brew或手动安装maven之后,使用macOS Catalina并使用终端或iTerm操作maven之后,您需要授予对应用程序的访问权限以访问用户文件。

系统偏好设置->隐私(按钮)->完整磁盘访问

然后将终端或iTerm添加到该列表。

在授予它们完整的磁盘访问权限之后,您还需要重新启动应用程序(例如终端程序或iTerm)。


0

对于那些想在Mavericks中使用maven2的人,输入:

brew tap homebrew/versions

brew install maven2

如果您已经安装了maven3,请首先备份3个链接(mvn,m2.conf,mvnDebug)/usr/local/bin

mkdir bak

mv m* bak/

然后重新安装:

brew uninstall maven2(仅在发生冲突时)

brew install maven2

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.