有问题的情况:一个基于Maven的项目,具有一个Maven运行配置,其“命令行”参数定义为clean install
。
点击绿色箭头以调用“运行my_maven_config”会从Nexus下载所有必需的程序包,并成功完成构建。
但是,选择“ Build Project”会调用一个看似相似的过程,但是在成功构建了一段时间之后,它在缺少的Hibernate程序包上失败了。
为什么会有区别?
“运行”的构建部分是否与“独立构建”相同?
答案 0 :(得分:4)
它们不相同。 IntelliJ IDEA从Maven导入外部项目模型,并将其转换为内部项目模型。并非100%准确,某些Maven插件不受支持,某些依赖项可能无法解决,等等。
请参阅this answer以执行诊断。尝试重新导入项目(如果没有帮助,请首先删除.idea目录)。
稍后将支持将Gradle现在可以完成的构建/运行操作委派给Maven(可能在IntelliJ IDEA 2018.3中)。
答案 1 :(得分:1)
现在,IntelliJ IDE允许将Build操作委派给Maven。 转到“首选项”,然后搜索“将IDE生成操作委托给Maven”。
因此,当您构建项目时,IntelliJ IDEA会调用适当的Maven目标。