Maven 在 macOS Catalina 更新后停止从终端工作:此目录中没有 POM

Maven stops working from terminal after macOS Catalina update: there is no POM in this directory

更新到 Catalina 后,当我从终端 运行 mvn clean install 时收到以下错误:

 The goal you specified requires a project to execute but there is no POM in this directory (/private/var/folders/xs/lgy9yxv501xcvnqr_zhg85wr0000gn/T/hsperfdata_user1). Please verify you invoked Maven from the correct directory.

当前目录包含一个pom.xml和一个有效的项目

user1@xyz project1 % pwd
/Users/user1/Documents/project/project1
user1@xyz project1 % ls
README.md            pom.xml                project1-service   

我也试过 mvn clean install -f pom.xml。这将出错:

The project  (/Users/user1/Documents/project/project1/pom.xml) has 1 error
[ERROR]     Non-readable POM /Users/user1/Documents/project/project1/pom.xml: /Users/user1/Documents/project/project1/pom.xml (Operation not permitted) 

这在 InteliJ 的终端上工作得很好。 知道发生了什么吗?

我最后做的是 System Preferences->Security & Privacy->Full Disk Access 并在那里添加终端。显然,对于 Catalina,您必须手动授予访问用户文件的应用程序的访问权限。

我遇到了同样的问题,但原因不同。 我的 maven 安装在 /apps/ 下的常用目录之外。 系统升级清除了所有它认为不合适的东西。所有自定义目录都消失了。必须使用 brew install maven.

重新安装 Maven

更新:

文件没有被删除。相反,它们已被重新定位到 /Users/Shared/Previously Relocated Items,这可以防止找到可执行文件,但文件并没有完全丢失。您可以从该文件夹中获取所需的内容,但如果是 Maven,您只需删除它并按照我上面的说明使用 brew 重新安装。

以下是 Catalina 这样做的原因解释:https://www.macrumors.com/guide/relocated-items/

Mac 用户: 您需要确保这样做,以便它构建正确的目录: mvn -f path/to/pom.xml ... 然后通过系统偏好设置中的安全和隐私选项 java 和终端授予对文件和文件夹的访问权限