OS 终端和 IntelliJ 终端之间的差异

Discrepancy between OS terminal and IntelliJ terminal

我发现在我的普通旧 OS 终端(我使用的是 Mac)和 IntelliJ 附带的终端(我正在使用的版本)上执行的命令之间存在一些差异使用的是 Ultimate 2019.2)。

一方面,IntelliJ 无法识别 Maven,即使我在 IntelliJ 设置中将 Maven 主目录正确设置为 /opt/apache-maven-3.6.0 而不是 IntelliJ 附带的捆绑包。我还确保将 IntelliJ 中的 JDK 设置为 /Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home/bin/java.

OS终端机:

$ which java
/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home/bin/java

$ which mvn
/opt/apache-maven-3.6.0/bin/mvn

$ mvn -v
Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T13:41:47-05:00)
Maven home: /opt/apache-maven-3.6.0
Java version: 1.8.0_211, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.13.6", arch: "x86_64", family: "mac"

IntelliJ 终端:

$ which java
/usr/bin/java

$ mvn -v
bash: mvn: command not found

有人可以解释这些差异吗?

我使用 的建议解决了这个问题(@Kyle Strand 的第三个建议)。在 IntelliJ 的终端设置中,我使用 -i 在交互模式下将 Bash 的 shell 路径设置为 运行。我现在使用与我的 OS 终端相同的 $PATH,现在可以识别 Maven 命令行。