【问题标题】:Maven not found in Mac OSX mavericks在 Mac OSX 小牛中找不到 Maven
【发布时间】:2013-11-09 19:27:17
【问题描述】:

将我的 Mac OSX 10.8 升级到 10.9 后,在 /usr/share 路径中找不到 Maven,但它安装在 10.8 中。

当我尝试这个命令时:

$ maven -version

得到这个结果

-bash: mvn: 找不到命令

但它在 10.8 上运行良好?有什么想法吗?

【问题讨论】:

    标签: macos osx-mountain-lion osx-mavericks


    【解决方案1】:

    对我来说,我安装了 AdoptOpenJDK 8,而不是 SE JDK 8。它无法识别 JAVA_HOME 或 mvn 命令。

    检查你的 java_home /usr/libexec/java_home -V 如果不同,请使用 JAVA SE SDK。

    然后按照上述步骤安装maven并再次检查

    【讨论】:

      【解决方案2】:

      在 Mac OS X 10.9 上默认不再安装 Maven。您需要自己安装,例如使用Homebrew

      使用 Homebrew 安装 Maven 的命令是 brew install maven

      【讨论】:

      【解决方案3】:

      对我来说,尝试上述技术确实有效,所以我打开 .bash_profile 文件并在新行中添加以下行以使用短 cmd 连接到 maven:

      alias mvn=/opt/apache-maven-3.6.3/bin/mvn
      

      重启终端并点击mvn clean install cmd

      【讨论】:

        【解决方案4】:
        1. here 下载 Maven。
        2. 将您刚刚下载的 tar.gz 解压到您想要的位置(例如:/Users/admin/Maven)。
        3. 打开终端。
        4. 输入“ cd ”转到您的主文件夹。
        5. 输入“touch .bash_profile”。
        6. 键入“open -e .bash_profile”以在 TextEdit 中打开 .bash_profile。
        7. 在文本编辑器中键入以下内容

        alias mvn='/[Your file location]/apache-maven-x.x.x/bin/mvn'
        export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdkx.x.x_xx.jdk/Contents/Home/
        

        (确保没有语音标记或撇号) 8. 确保填写所需的数据(例如您的文件位置和版本号)。

        1. 保存更改
        2. 键入“. .bash_profile”以重新加载 .bash_profile 并更新您添加的任何函数。 (*确保用一个空格分隔点)。
        3. 输入mvn -version

        如果成功,您应该会看到以下内容:

        Apache Maven 3.1.1
        Maven home: /Users/admin/Maven/apache-maven-3.1.1
        Java version: 1.7.0_51, vendor: Oracle Corporation
        Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre
        Default locale: en_US, platform encoding: UTF-8
        OS name: "mac os x", version: "10.9.1", arch: "x86_64", family: "mac"
        

        【讨论】:

        • 升级到 osx maverics 后使用 brew 出现问题。这种方法对我有用。谢谢。
        • 我猜这不是完整的解决方案
        【解决方案5】:

        我不允许对 pkyeck 的回复发表评论,这对包括我在内的一些人不起作用,所以我在他的回复中添加单独的评论:

        如果 .bash_profile 不起作用,基本上尝试添加他在 .profile 文件中提到的变量。它位于您的主目录中,然后重新启动终端。这让它对我有用。

        明显的障碍是您无权编辑 .profile 文件,为此使用“touch”检查访问权限并使用“sudo”命令获取访问权限

        1. 触摸.profile

        2. vi .profile

        这里是变量 pkyeck 建议我们添加为与编辑 .profile 一起为我工作的解决方案:

        1. 导出 M2_HOME=/apache-maven-3.3.3

        2. 导出 PATH=$PATH:$M2_HOME/bin

        【讨论】:

          【解决方案6】:

          这个解决方案可能看起来很长,但事实并非如此。我只是包括了很多例子,所以一切都很清楚。它在 Mavericks OS 中对我有用。

          注意:我合并并编辑了上面显示的一些答案,添加了一些示例和格式并发布了结果,因此主要归功于原始帖子的创建者。

          1. here 下载 Maven。

          2. 打开终端。

          3. 手动或通过在终端中键入以下行(填写所需数据)将刚刚下载的文件提取到所需位置:

            mv [Your file name] [Destination location]/ tar -xvf [Your file name]

            例如,如果我们的文件名为“apache-maven-3.2.1-bin.tar”(Maven 版本 3.2.1)并且我们希望将其定位在“/Applications”目录中,那么我们应该键入终端中的以下行:

            mv apache-maven-3.2.1-bin.tar /Applications/
            tar -xvf apache-maven-3.2.1-bin.tar
            
          4. 如果您的计算机上没有安装任何 JDK(Java 开发工具包),请安装一个。

          5. 在终端中输入“java -version”。您应该会看到如下内容:

            java version "1.8.0"
            Java(TM) SE Runtime Environment (build 1.8.0-b132)
            Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode)
            

            记住您的 java 版本(在示例中为 1.8.0)。

          6. 键入“cd ~/”以转到您的主文件夹。

          7. 输入“touch .bash_profile”。

          8. 键入“open -e .bash_profile”以在 TextEdit 中打开 .bash_profile。

          9. 在 TextEdit 中键入以下内容(复制所有内容并替换所需数据):

            export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk[Your Java version].jdk/Contents/Home export M2_HOME=[Your file location]/apache-maven-[Your Maven version]/ export PATH=$PATH:$M2_HOME/bin alias mvn='$M2_HOME/bin/mvn'

            例如,在我们的例子中,我们会将“[Your Java version]”替换为“1.8.0”(在步骤 5 中获得的值),将“[Your file location]”替换为“/Applications”(值用作“步骤 3 中的 Destination Location") 和 "[Your Maven version]" 和 "3.2.1"(在步骤 3 中观察到的 Maven 版本),产生以下代码:

            export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home
            export M2_HOME=/Applications/apache-maven-3.2.1/
            export PATH=$PATH:$M2_HOME/bin
            alias mvn='$M2_HOME/bin/mvn'
            
          10. 保存更改

          11. 键入“source .bash_profile”以重新加载 .bash_profile 并更新您添加的任何函数。

          12. 输入mvn -version。如果成功,您应该会看到以下内容:

            Apache Maven [Your Maven version] ([Some weird stuff. Don't worry about this]) Maven home: [Your file location]/apache-maven-[Your Maven version] Java version: [You Java version], vendor: Oracle Corporation Java home: /Library/Java/JavaVirtualMachines/jdk[Your Java version].jdk/Contents/Home/jre [Some other stuff which may vary depending on the configuration and the OS of the computer]

            在我们的示例中,结果如下:

            Apache Maven 3.2.1 (ea8b2b07643dbb1b84b6d16e1f08391b666bc1e9; 2014-02-14T18:37:52+01:00)
            Maven home: /Applications/apache-maven-3.2.1
            Java version: 1.8.0, vendor: Oracle Corporation
            Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0</b>.jdk/Contents/Home/jre
            Default locale: es_ES, platform encoding: UTF-8
            OS name: "mac os x", version: "10.9.2", arch: "x86_64", family: "mac"
            

          【讨论】:

          • 这个是完整的解决方案。
          【解决方案7】:

          如果您不想安装 homebrew(或任何其他包管理器)只是为了安装 maven,您可以从他们的网站获取二进制文件:

          http://maven.apache.org/download.cgi

          将内容提取到文件夹(例如/Applications/apache-maven-3.1.1

          $ tar -xvf apache-maven-3.1.1-bin.tar.gz

          最后用你喜欢的任何文本编辑器调整你的~/.bash_profile

          export M2_HOME=/Applications/apache-maven-3.1.1
          export PATH=$PATH:$M2_HOME/bin
          

          重启终端并用

          进行测试

          $ mvn -version

          Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a; 2013-09-17 17:22:22+0200)
          Maven home: /Applications/apache-maven-3.1.1
          Java version: 1.6.0_65, vendor: Apple Inc.
          Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
          Default locale: de_DE, platform encoding: MacRoman
          OS name: "mac os x", version: "10.9", arch: "x86_64", family: "mac"
          

          【讨论】:

          • 您可以尝试输出 PATH echo $PATH - 是否包含 maven 文件夹?
          • 我必须使用 sudo 才能从 /Applications/.. 文件夹干净地运行 maven。我发现nofluffjuststuff.com/blog/demian_neidetcher/2013/01/…journaldev.com/2348/… 的组合帮助我摆脱了困境。
          • 我必须添加整个 M2_HOME 目录,例如导出 M2_HOME=/Users/km/Applications/apache-maven-3.3.9。还要确保退出并重新启动终端。
          【解决方案8】:
          brew install maven
          

          请确保您已安装最新的 Xcode 和命令行工具。

          xcode-select --install
          

          【讨论】:

          • 试过这个。现在有“线程“主”中的异常 java.lang.NoClassDefFoundError: org/codehaus/plexus/classworlds/launcher/Launcher” :(
          • 在网络上的其他地方发现问题在于设置了 M2_HOME。我一辈子都找不到它的设置位置,但是将 unset M2_HOME 放入 .bashrc 中就可以了。
          • 酷,'xcode-select --install' 帮助我解决了这样一个事实:升级到 Mavericks 后,我通过自制软件(mongo、redis 等)安装的任何内容都没有出现在我的 PATH 中
          • 这几乎是这里唯一面向未来的解决方案,它始终提供最新版本。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-01-24
          • 1970-01-01
          • 1970-01-01
          • 2015-10-26
          • 2021-02-10
          • 2013-04-03
          • 2011-03-08
          相关资源
          最近更新 更多