Maven 错误:模块的 Maven 项目配置不可用

Posted

技术标签:

【中文标题】Maven 错误:模块的 Maven 项目配置不可用【英文标题】:Maven Error : Maven Project Configuration for Module isn't available 【发布时间】:2015-11-07 21:40:27 【问题描述】:

当我尝试编译我的代码时,我不断收到此错误。我的目录中有 pom.xml 文件,但我不确定那里是否有问题。我在互联网上只找到了一个与此相关的链接,这不是我的情况:Maven project configuration required for module

错误:Maven 资源编译器:模块“更新程序”所需的 Maven 项目配置不可用。仅当从 IDE 启动外部构建时,才支持编译 Maven 项目。

这是我的 pom 文件的内容:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0     http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.nothing.updater</groupId>
    <artifactId>Updater</artifactId>
    <version>1.0-SNAPSHOT</version>


    <!--<dependencies>-->
        <!--<dependency>-->
            <!--<groupId>com.nothing.toolbox</groupId>-->
            <!--<artifactId>Toolbox</artifactId>-->
            <!--<version>1.1</version>-->
        <!--</dependency>-->

    <!--</dependencies>-->
</project>

我正在使用一个多模块项目。

【问题讨论】:

【参考方案1】:

右键单击 pom.xml,然后单击“添加为 Maven 项目”。

【讨论】:

工作于 2018.2.1 这解决了我遇到的这个错误:Error:Maven Resources Compiler: Maven project configuration required for module '...' isn't available. Compilation of Maven projects is supported only if external build is started from an IDE. 在我的例子中它已经被添加为 Maven 项目。尝试“取消链接 Maven 项目”并遵循解决方案,但它没有用。谢谢你。【参考方案2】:

右键单击该模块,然后从弹出菜单中选择“制作模块”“项目模块名称”选项。将显示消息。但是现在去问题看看。这将清除并纠正此问题。

【讨论】:

在 2017.2.1 的一个相当复杂的 maven 项目中遇到了同样的问题。为什么会有帮助? 这只是解决了我从 2019.1.2 升级到 2019.2.1 时遇到的问题;所以无论发生什么,它仍然是一个问题。 在 IntelliJ 2019.3 中,我发现的菜单项是“构建模块 ”。 我在 IntelliJ 上,但找不到“制作模块”选项。谢谢你。【参考方案3】:

在我的情况下,将 IJ 从 14.x 升级到 15.x 后出现问题,并在我发布 Build -> Rebuild Project 时消失了

【讨论】:

难以置信,我花了几天时间试图解决这个问题并尝试了一百万种方法,但最终你的解决方案对我有用!谢谢。有关信息,我正在使用 Intellij 2018.3、java 11(但在我的项目中仅使用版本 8 语言级别)、maven 3.6。更新:虽然这可行 - 发生了一些奇怪的事情 - 在我运行 Rebuild Project 然后运行我的“mvn clean”、“mvn validate”、“mvn compile”之后 - 我有时仍然会收到上述错误。 我认为这对我在2019.2.2 (Ultimate Edition) for Mac 上有所帮助。 在 Ubuntu 上更新到 2019.3 后,我遇到了同样的问题。重建项目后,问题现在消失了 谢谢,这个简单的步骤也帮助了我在 Linux 的 2021.2.2(社区版)! 它不适合我。谢谢你。【参考方案4】:

我在 2019.3.4 下遇到此错误的问题与委托给 Maven 的构建有关。想法是让 Maven 先构建我的项目,而构建失败是因为我破坏了测试。我通过不允许 IDEA 委托给 Maven 来解决这个问题。在 Mac OS Catalina 上:Intellij -> 首选项 -> 构建、执行、部署 -> 构建工具 -> Runner 并取消选中 Delegate IDE Build/run actions to Maven

【讨论】:

谢谢。但它已经为我取消检查,所以没有工作。【参考方案5】:

消息来自Line 43 in /org/jetbrains/jps/maven/compiler/MavenResourcesBuilder.java,所以我猜这不是 pom.xml 问题,而是 IntelliJ Idea 相关的。

如果您进一步研究代码,它会查找一个名为 maven/configuration.xml 的文件,据我所知,它会在某个临时目录中进行搜索。

也许您应该尝试尽可能干净地开始构建。

【讨论】:

谢谢你的回复,我明白了。我将尝试它,但有两个问题:1.我怎么知道它来自第 43 行和 2.我在哪里可以看到它需要 configuration.xml?谢谢! 对于您的问题: 1. 第 43 行读取 context.processMessage(new CompilerMessage(BUILDER_NAME, BuildMessage.Kind.ERROR, "Maven project configuration required for module '" + target.getModule().getName() + "' isn't available. Compilation of Maven projects is supported only if external build is started from an IDE."));,这几乎就是您收到的错误消息。 2. 当你进入JpsMavenExtensionService.getInstance().getMavenProjectConfiguration 时,你会发现。【参考方案6】:

快速解决方案(IntelliJ IDEA): 右键项目,选择Maven->Reimport

【讨论】:

【参考方案7】:

就我而言,我不得不使用以下技巧:

    在项目面板中右键模块名称

    选择“打开模块设置”

    在弹出的窗口中,点击Dependencies

    选择java版本1.8.0_151

【讨论】:

我在 intelliJ 上找不到“打开模块设置”选项。【参考方案8】:

Intellij Idea 版本升级(2016.3 到 2017.1)后出现同样的错误:

错误:Maven 资源编译器:需要 Maven 项目配置 对于模块 'MODULE_NAKE' 不可用。 Maven的编译 仅当从 IDE 启动外部构建时才支持项目。

但我的解决方案是另一个。不知何故,我认为 Intellij 丢失了我项目中使用的 maven 版本。我使用的是 maven 2.2.1,但 Intellij 正在尝试使用 maven 3.x。

所以,我的解决方案是在以下位置调整此配置:

File > Settings > Build, Execution, Deployment > Build Tools > Maven 

并将 maven 版本设置为 2.2.1。

【讨论】:

【参考方案9】:

我在 Intellij Idea 版本升级后遇到了这个问题。解决方法是等待它完成索引。然后我认为它下载了一些它需要的东西。

让我觉得这个线程上关于 IJ 版本升级的其他答案可能也只需要等待 - 当他们完成尝试一些事情时,问题本身就解决了。

【讨论】:

【参考方案10】:

在我的情况下,这是由 IntelliJ 的错误配置引起的。很久以前,我一直在试验Maven Projects 视图中的Lifecycle 选项,并在子模块中留下了几个阶段,检查为Execute Before Build

因为我完全忘记了检查这些内容,所以我花了很长时间才理解与Problems 视图中的错误消息的联系。在取消选中受影响阶段的Execute Before Build 开关后,一切都恢复正常,尤其是运行单元测试变得更快。

【讨论】:

【参考方案11】:

修改.idea/compiler.xml,添加配置(模块名需要自己改):

【讨论】:

【参考方案12】:

就我而言,我收到此错误消息,因为我在 IntelliJ 中的 Maven 配置已损坏。我在Preferences:Build,Execution,Deployment-&gt;Build Tools-&gt;Maven-&gt;Importing 处向VM options for importer 输入了无效选项。

删除这些选项后,IntelliJ 再次开始正常运行。

【讨论】:

【参考方案13】:

我选择了对我有帮助的捆绑的 maven 安装。

这也可能与使用符号链接来引用 maven 安装有关..

原来我使用的 IntelliJ 版本 (2018.3) 无法使用 apache-maven-3.6.2 导入 maven 项目

【讨论】:

【参考方案14】:

就我而言,我使缓存无效并重新启动了 IDE。它起作用了,但不知道为什么。

【讨论】:

【参考方案15】:

我正在使用带有 WSL2 和 Windows10 的 IDEA。 当IDEA自动将WSL2中的JDK设置为项目JDK时出现了我的问题。 将我的JDK设置回Windows JDK后,错误消失了。

【讨论】:

【参考方案16】:

在我的情况下,我已经全部配置为在每次文件更改后使用 devtools 执行热重载:

    文件 -> 设置 -> 构建、执行、部署 -> 编译器 -> 启用“自动构建项目”; 文件 -> 设置 -> 高级设置 -> 即使开发的应用程序当前正在运行,也允许自动启动。

Auto-build 选项卡中的 maven 相关错误正在显示,并且仅在我删除根目录中的 .idea 文件夹后才消失,再次打开项目,在没有 maven config 的情况下构建项目(构建为 Ant 项目),并且重新配置所有。 重置后错误消失,maven build 执行没有错误。

【讨论】:

【参考方案17】:

我被这个问题困扰了一下午,***中的解决方案对我没有用。但是我只是偶然解决了这个问题,我不知道它是如何工作的,但是它很有效。如果你有同样的项目结构。 project structure

你可以试试这个 try this button

您会发现所有子项目都构建成功。然后就可以正常运行所有项目了。

【讨论】:

以上是关于Maven 错误:模块的 Maven 项目配置不可用的主要内容,如果未能解决你的问题,请参考以下文章

使用Maven编译项目遇到——“maven编码gbk的不可映射字符”解决办法

普歌-idea关于二级maven项目模块配置无法被三级maven项目模块使用问题

LRF-idea关于二级maven项目模块配置无法被三级maven项目模块使用问题

使用maven发布插件的错误

maven异常解决:编码GBK的不可映射字符

maven配置文件中modules是啥意思