【发布时间】: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
将我的 Mac OSX 10.8 升级到 10.9 后,在 /usr/share 路径中找不到 Maven,但它安装在 10.8 中。
当我尝试这个命令时:
$ maven -version
得到这个结果
-bash: mvn: 找不到命令
但它在 10.8 上运行良好?有什么想法吗?
【问题讨论】:
标签: macos osx-mountain-lion osx-mavericks
对我来说,我安装了 AdoptOpenJDK 8,而不是 SE JDK 8。它无法识别 JAVA_HOME 或 mvn 命令。
检查你的 java_home
/usr/libexec/java_home -V
如果不同,请使用 JAVA SE SDK。
然后按照上述步骤安装maven并再次检查
【讨论】:
在 Mac OS X 10.9 上默认不再安装 Maven。您需要自己安装,例如使用Homebrew。
使用 Homebrew 安装 Maven 的命令是
brew install maven
【讨论】:
对我来说,尝试上述技术确实有效,所以我打开 .bash_profile 文件并在新行中添加以下行以使用短 cmd 连接到 maven:
alias mvn=/opt/apache-maven-3.6.3/bin/mvn
重启终端并点击mvn clean install cmd
【讨论】:
cd ”转到您的主文件夹。touch .bash_profile”。open -e .bash_profile”以在 TextEdit 中打开 .bash_profile。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. 确保填写所需的数据(例如您的文件位置和版本号)。
. .bash_profile”以重新加载 .bash_profile 并更新您添加的任何函数。 (*确保用一个空格分隔点)。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"
【讨论】:
我不允许对 pkyeck 的回复发表评论,这对包括我在内的一些人不起作用,所以我在他的回复中添加单独的评论:
如果 .bash_profile 不起作用,基本上尝试添加他在 .profile 文件中提到的变量。它位于您的主目录中,然后重新启动终端。这让它对我有用。
明显的障碍是您无权编辑 .profile 文件,为此使用“touch”检查访问权限并使用“sudo”命令获取访问权限
触摸.profile
vi .profile
这里是变量 pkyeck 建议我们添加为与编辑 .profile 一起为我工作的解决方案:
导出 M2_HOME=/apache-maven-3.3.3
导出 PATH=$PATH:$M2_HOME/bin
【讨论】:
这个解决方案可能看起来很长,但事实并非如此。我只是包括了很多例子,所以一切都很清楚。它在 Mavericks OS 中对我有用。
注意:我合并并编辑了上面显示的一些答案,添加了一些示例和格式并发布了结果,因此主要归功于原始帖子的创建者。
从 here 下载 Maven。
打开终端。
手动或通过在终端中键入以下行(填写所需数据)将刚刚下载的文件提取到所需位置:
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
如果您的计算机上没有安装任何 JDK(Java 开发工具包),请安装一个。
在终端中输入“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)。
键入“cd ~/”以转到您的主文件夹。
输入“touch .bash_profile”。
键入“open -e .bash_profile”以在 TextEdit 中打开 .bash_profile。
在 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'
保存更改
键入“source .bash_profile”以重新加载 .bash_profile 并更新您添加的任何函数。
输入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"
【讨论】:
如果您不想安装 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"
【讨论】:
echo $PATH - 是否包含 maven 文件夹?
sudo 才能从 /Applications/.. 文件夹干净地运行 maven。我发现nofluffjuststuff.com/blog/demian_neidetcher/2013/01/… 和journaldev.com/2348/… 的组合帮助我摆脱了困境。
brew install maven
请确保您已安装最新的 Xcode 和命令行工具。
xcode-select --install
【讨论】:
unset M2_HOME 放入 .bashrc 中就可以了。